YES 22.508 H-Termination proof of /home/matraf/haskell/eval_FullyBlown_Fast/FiniteMap.hs
H-Termination of the given Haskell-Program with start terms could successfully be proven:



HASKELL
  ↳ LR

mainModule FiniteMap
  ((plusFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap (Maybe b) a  ->  FiniteMap (Maybe b) a  ->  FiniteMap (Maybe b) a) :: Ord b => (a  ->  a  ->  a ->  FiniteMap (Maybe b) a  ->  FiniteMap (Maybe b) a  ->  FiniteMap (Maybe b) a)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord b => FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM fm key elt addToFM_C (\old new ->new) fm key elt

  addToFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM_C combiner EmptyFM key elt unitFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt 
 | new_key < key = 
mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
 | new_key > key = 
mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
 | otherwise = 
Branch new_key (combiner elt new_elt) size fm_l fm_r

  emptyFM :: FiniteMap a b
emptyFM EmptyFM

  findMax :: FiniteMap b a  ->  (b,a)
findMax (Branch key elt _ _ EmptyFM(key,elt)
findMax (Branch key elt _ _ fm_rfindMax fm_r

  findMin :: FiniteMap b a  ->  (b,a)
findMin (Branch key elt _ EmptyFM _) (key,elt)
findMin (Branch key elt _ fm_l _) findMin fm_l

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM (\key elt rest ->(key,elt: rest) [] fm

  foldFM :: (c  ->  a  ->  b  ->  b ->  b  ->  FiniteMap c a  ->  b
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt _ fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  mkBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBalBranch key elt fm_L fm_R 
 | size_l + size_r < 2 = 
mkBranch 1 key elt fm_L fm_R
 | size_r > sIZE_RATIO * size_l = 
case fm_R of
  Branch _ _ _ fm_rl fm_rr
 | sizeFM fm_rl < 2 * sizeFM fm_rr -> 
single_L fm_L fm_R
 | otherwise -> 
double_L fm_L fm_R
 | size_l > sIZE_RATIO * size_r = 
case fm_L of
  Branch _ _ _ fm_ll fm_lr
 | sizeFM fm_lr < 2 * sizeFM fm_ll -> 
single_R fm_L fm_R
 | otherwise -> 
double_R fm_L fm_R
 | otherwise = 
mkBranch 2 key elt fm_L fm_R where 
double_L fm_l (Branch key_r elt_r _ (Branch key_rl elt_rl _ fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l _ fm_ll (Branch key_lr elt_lr _ fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
single_L fm_l (Branch key_r elt_r _ fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l _ fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l sizeFM fm_L
size_r sizeFM fm_R

  mkBranch :: Ord a => Int  ->  a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBranch which key elt fm_l fm_r 
let 
result Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
 where 
balance_ok True
left_ok 
case fm_l of
  EmptyFM-> True
  Branch left_key _ _ _ _-> 
let 
biggest_left_key fst (findMax fm_l)
in biggest_left_key < key
left_size sizeFM fm_l
right_ok 
case fm_r of
  EmptyFM-> True
  Branch right_key _ _ _ _-> 
let 
smallest_right_key fst (findMin fm_r)
in key < smallest_right_key
right_size sizeFM fm_r
unbox :: Int  ->  Int
unbox x x

  mkVBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkVBalBranch key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch key elt fm_l@(Branch key_l elt_l _ fm_ll fm_lrfm_r@(Branch key_r elt_r _ fm_rl fm_rr
 | sIZE_RATIO * size_l < size_r = 
mkBalBranch key_r elt_r (mkVBalBranch key elt fm_l fm_rl) fm_rr
 | sIZE_RATIO * size_r < size_l = 
mkBalBranch key_l elt_l fm_ll (mkVBalBranch key elt fm_lr fm_r)
 | otherwise = 
mkBranch 13 key elt fm_l fm_r where 
size_l sizeFM fm_l
size_r sizeFM fm_r

  plusFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
plusFM_C combiner EmptyFM fm2 fm2
plusFM_C combiner fm1 EmptyFM fm1
plusFM_C combiner fm1 (Branch split_key elt2 _ left right
mkVBalBranch split_key new_elt (plusFM_C combiner lts left) (plusFM_C combiner gts right) where 
gts splitGT fm1 split_key
lts splitLT fm1 split_key
new_elt 
case lookupFM fm1 split_key of
  Nothing-> elt2
  Just elt1-> combiner elt1 elt2

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size

  splitGT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitGT EmptyFM split_key emptyFM
splitGT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key > key = 
splitGT fm_r split_key
 | split_key < key = 
mkVBalBranch key elt (splitGT fm_l split_key) fm_r
 | otherwise = 
fm_r

  splitLT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitLT EmptyFM split_key emptyFM
splitLT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key < key = 
splitLT fm_l split_key
 | split_key > key = 
mkVBalBranch key elt fm_l (splitLT fm_r split_key)
 | otherwise = 
fm_l

  unitFM :: a  ->  b  ->  FiniteMap a b
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Lambda Reductions:
The following Lambda expression
\keyeltrest→(key,elt: rest

is transformed to
fmToList0 key elt rest = (key,elt: rest

The following Lambda expression
\oldnewnew

is transformed to
addToFM0 old new = new



↳ HASKELL
  ↳ LR
HASKELL
      ↳ CR

mainModule FiniteMap
  ((plusFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap (Maybe a) b  ->  FiniteMap (Maybe a) b  ->  FiniteMap (Maybe a) b) :: Ord a => (b  ->  b  ->  b ->  FiniteMap (Maybe a) b  ->  FiniteMap (Maybe a) b  ->  FiniteMap (Maybe a) b)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord a => FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM_C combiner EmptyFM key elt unitFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt 
 | new_key < key = 
mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
 | new_key > key = 
mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
 | otherwise = 
Branch new_key (combiner elt new_elt) size fm_l fm_r

  emptyFM :: FiniteMap b a
emptyFM EmptyFM

  findMax :: FiniteMap a b  ->  (a,b)
findMax (Branch key elt _ _ EmptyFM(key,elt)
findMax (Branch key elt _ _ fm_rfindMax fm_r

  findMin :: FiniteMap a b  ->  (a,b)
findMin (Branch key elt _ EmptyFM _) (key,elt)
findMin (Branch key elt _ fm_l _) findMin fm_l

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (c  ->  a  ->  b  ->  b ->  b  ->  FiniteMap c a  ->  b
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt _ fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  mkBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBalBranch key elt fm_L fm_R 
 | size_l + size_r < 2 = 
mkBranch 1 key elt fm_L fm_R
 | size_r > sIZE_RATIO * size_l = 
case fm_R of
  Branch _ _ _ fm_rl fm_rr
 | sizeFM fm_rl < 2 * sizeFM fm_rr -> 
single_L fm_L fm_R
 | otherwise -> 
double_L fm_L fm_R
 | size_l > sIZE_RATIO * size_r = 
case fm_L of
  Branch _ _ _ fm_ll fm_lr
 | sizeFM fm_lr < 2 * sizeFM fm_ll -> 
single_R fm_L fm_R
 | otherwise -> 
double_R fm_L fm_R
 | otherwise = 
mkBranch 2 key elt fm_L fm_R where 
double_L fm_l (Branch key_r elt_r _ (Branch key_rl elt_rl _ fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l _ fm_ll (Branch key_lr elt_lr _ fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
single_L fm_l (Branch key_r elt_r _ fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l _ fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l sizeFM fm_L
size_r sizeFM fm_R

  mkBranch :: Ord a => Int  ->  a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBranch which key elt fm_l fm_r 
let 
result Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
 where 
balance_ok True
left_ok 
case fm_l of
  EmptyFM-> True
  Branch left_key _ _ _ _-> 
let 
biggest_left_key fst (findMax fm_l)
in biggest_left_key < key
left_size sizeFM fm_l
right_ok 
case fm_r of
  EmptyFM-> True
  Branch right_key _ _ _ _-> 
let 
smallest_right_key fst (findMin fm_r)
in key < smallest_right_key
right_size sizeFM fm_r
unbox :: Int  ->  Int
unbox x x

  mkVBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkVBalBranch key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch key elt fm_l@(Branch key_l elt_l _ fm_ll fm_lrfm_r@(Branch key_r elt_r _ fm_rl fm_rr
 | sIZE_RATIO * size_l < size_r = 
mkBalBranch key_r elt_r (mkVBalBranch key elt fm_l fm_rl) fm_rr
 | sIZE_RATIO * size_r < size_l = 
mkBalBranch key_l elt_l fm_ll (mkVBalBranch key elt fm_lr fm_r)
 | otherwise = 
mkBranch 13 key elt fm_l fm_r where 
size_l sizeFM fm_l
size_r sizeFM fm_r

  plusFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
plusFM_C combiner EmptyFM fm2 fm2
plusFM_C combiner fm1 EmptyFM fm1
plusFM_C combiner fm1 (Branch split_key elt2 _ left right
mkVBalBranch split_key new_elt (plusFM_C combiner lts left) (plusFM_C combiner gts right) where 
gts splitGT fm1 split_key
lts splitLT fm1 split_key
new_elt 
case lookupFM fm1 split_key of
  Nothing-> elt2
  Just elt1-> combiner elt1 elt2

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size

  splitGT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitGT EmptyFM split_key emptyFM
splitGT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key > key = 
splitGT fm_r split_key
 | split_key < key = 
mkVBalBranch key elt (splitGT fm_l split_key) fm_r
 | otherwise = 
fm_r

  splitLT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitLT EmptyFM split_key emptyFM
splitLT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key < key = 
splitLT fm_l split_key
 | split_key > key = 
mkVBalBranch key elt fm_l (splitLT fm_r split_key)
 | otherwise = 
fm_l

  unitFM :: a  ->  b  ->  FiniteMap a b
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Case Reductions:
The following Case expression
case fm_l of
 EmptyFM → True
 Branch left_key _ _ _ _ → 
let 
biggest_left_key  = fst (findMax fm_l)
in biggest_left_key < key

is transformed to
left_ok0 fm_l key EmptyFM = True
left_ok0 fm_l key (Branch left_key _ _ _ _) = 
let 
biggest_left_key  = fst (findMax fm_l)
in biggest_left_key < key

The following Case expression
case fm_r of
 EmptyFM → True
 Branch right_key _ _ _ _ → 
let 
smallest_right_key  = fst (findMin fm_r)
in key < smallest_right_key

is transformed to
right_ok0 fm_r key EmptyFM = True
right_ok0 fm_r key (Branch right_key _ _ _ _) = 
let 
smallest_right_key  = fst (findMin fm_r)
in key < smallest_right_key

The following Case expression
case fm_R of
 Branch _ _ _ fm_rl fm_rr
 | sizeFM fm_rl < 2 * sizeFM fm_rr
 → single_L fm_L fm_R
 | otherwise
 → double_L fm_L fm_R

is transformed to
mkBalBranch0 fm_L fm_R (Branch _ _ _ fm_rl fm_rr)
 | sizeFM fm_rl < 2 * sizeFM fm_rr
 = single_L fm_L fm_R
 | otherwise
 = double_L fm_L fm_R

The following Case expression
case fm_L of
 Branch _ _ _ fm_ll fm_lr
 | sizeFM fm_lr < 2 * sizeFM fm_ll
 → single_R fm_L fm_R
 | otherwise
 → double_R fm_L fm_R

is transformed to
mkBalBranch1 fm_L fm_R (Branch _ _ _ fm_ll fm_lr)
 | sizeFM fm_lr < 2 * sizeFM fm_ll
 = single_R fm_L fm_R
 | otherwise
 = double_R fm_L fm_R

The following Case expression
case lookupFM fm1 split_key of
 Nothing → elt2
 Just elt1 → combiner elt1 elt2

is transformed to
new_elt0 elt2 combiner Nothing = elt2
new_elt0 elt2 combiner (Just elt1) = combiner elt1 elt2

The following Case expression
case compare x y of
 EQ → o
 LT → LT
 GT → GT

is transformed to
primCompAux0 o EQ = o
primCompAux0 o LT = LT
primCompAux0 o GT = GT



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
HASKELL
          ↳ IFR

mainModule FiniteMap
  ((plusFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap (Maybe b) a  ->  FiniteMap (Maybe b) a  ->  FiniteMap (Maybe b) a) :: Ord b => (a  ->  a  ->  a ->  FiniteMap (Maybe b) a  ->  FiniteMap (Maybe b) a  ->  FiniteMap (Maybe b) a)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord b => FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM_C combiner EmptyFM key elt unitFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt 
 | new_key < key = 
mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
 | new_key > key = 
mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
 | otherwise = 
Branch new_key (combiner elt new_elt) size fm_l fm_r

  emptyFM :: FiniteMap a b
emptyFM EmptyFM

  findMax :: FiniteMap a b  ->  (a,b)
findMax (Branch key elt _ _ EmptyFM(key,elt)
findMax (Branch key elt _ _ fm_rfindMax fm_r

  findMin :: FiniteMap b a  ->  (b,a)
findMin (Branch key elt _ EmptyFM _) (key,elt)
findMin (Branch key elt _ fm_l _) findMin fm_l

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (c  ->  b  ->  a  ->  a ->  a  ->  FiniteMap c b  ->  a
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord a => FiniteMap a b  ->  a  ->  Maybe b
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt _ fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  mkBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBalBranch key elt fm_L fm_R 
 | size_l + size_r < 2 = 
mkBranch 1 key elt fm_L fm_R
 | size_r > sIZE_RATIO * size_l = 
mkBalBranch0 fm_L fm_R fm_R
 | size_l > sIZE_RATIO * size_r = 
mkBalBranch1 fm_L fm_R fm_L
 | otherwise = 
mkBranch 2 key elt fm_L fm_R where 
double_L fm_l (Branch key_r elt_r _ (Branch key_rl elt_rl _ fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l _ fm_ll (Branch key_lr elt_lr _ fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch _ _ _ fm_rl fm_rr
 | sizeFM fm_rl < 2 * sizeFM fm_rr = 
single_L fm_L fm_R
 | otherwise = 
double_L fm_L fm_R
mkBalBranch1 fm_L fm_R (Branch _ _ _ fm_ll fm_lr
 | sizeFM fm_lr < 2 * sizeFM fm_ll = 
single_R fm_L fm_R
 | otherwise = 
double_R fm_L fm_R
single_L fm_l (Branch key_r elt_r _ fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l _ fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l sizeFM fm_L
size_r sizeFM fm_R

  mkBranch :: Ord a => Int  ->  a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBranch which key elt fm_l fm_r 
let 
result Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
 where 
balance_ok True
left_ok left_ok0 fm_l key fm_l
left_ok0 fm_l key EmptyFM True
left_ok0 fm_l key (Branch left_key _ _ _ _) 
let 
biggest_left_key fst (findMax fm_l)
in biggest_left_key < key
left_size sizeFM fm_l
right_ok right_ok0 fm_r key fm_r
right_ok0 fm_r key EmptyFM True
right_ok0 fm_r key (Branch right_key _ _ _ _) 
let 
smallest_right_key fst (findMin fm_r)
in key < smallest_right_key
right_size sizeFM fm_r
unbox :: Int  ->  Int
unbox x x

  mkVBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkVBalBranch key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch key elt fm_l@(Branch key_l elt_l _ fm_ll fm_lrfm_r@(Branch key_r elt_r _ fm_rl fm_rr
 | sIZE_RATIO * size_l < size_r = 
mkBalBranch key_r elt_r (mkVBalBranch key elt fm_l fm_rl) fm_rr
 | sIZE_RATIO * size_r < size_l = 
mkBalBranch key_l elt_l fm_ll (mkVBalBranch key elt fm_lr fm_r)
 | otherwise = 
mkBranch 13 key elt fm_l fm_r where 
size_l sizeFM fm_l
size_r sizeFM fm_r

  plusFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
plusFM_C combiner EmptyFM fm2 fm2
plusFM_C combiner fm1 EmptyFM fm1
plusFM_C combiner fm1 (Branch split_key elt2 _ left right
mkVBalBranch split_key new_elt (plusFM_C combiner lts left) (plusFM_C combiner gts right) where 
gts splitGT fm1 split_key
lts splitLT fm1 split_key
new_elt new_elt0 elt2 combiner (lookupFM fm1 split_key)
new_elt0 elt2 combiner Nothing elt2
new_elt0 elt2 combiner (Just elt1combiner elt1 elt2

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size

  splitGT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitGT EmptyFM split_key emptyFM
splitGT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key > key = 
splitGT fm_r split_key
 | split_key < key = 
mkVBalBranch key elt (splitGT fm_l split_key) fm_r
 | otherwise = 
fm_r

  splitLT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitLT EmptyFM split_key emptyFM
splitLT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key < key = 
splitLT fm_l split_key
 | split_key > key = 
mkVBalBranch key elt fm_l (splitLT fm_r split_key)
 | otherwise = 
fm_l

  unitFM :: b  ->  a  ->  FiniteMap b a
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude



If Reductions:
The following If expression
if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero

is transformed to
primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y))
primDivNatS0 x y False = Zero

The following If expression
if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x

is transformed to
primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y)
primModNatS0 x y False = Succ x



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
HASKELL
              ↳ BR

mainModule FiniteMap
  ((plusFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap (Maybe a) b  ->  FiniteMap (Maybe a) b  ->  FiniteMap (Maybe a) b) :: Ord a => (b  ->  b  ->  b ->  FiniteMap (Maybe a) b  ->  FiniteMap (Maybe a) b  ->  FiniteMap (Maybe a) b)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord a => FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM_C combiner EmptyFM key elt unitFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt 
 | new_key < key = 
mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
 | new_key > key = 
mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
 | otherwise = 
Branch new_key (combiner elt new_elt) size fm_l fm_r

  emptyFM :: FiniteMap b a
emptyFM EmptyFM

  findMax :: FiniteMap b a  ->  (b,a)
findMax (Branch key elt _ _ EmptyFM(key,elt)
findMax (Branch key elt _ _ fm_rfindMax fm_r

  findMin :: FiniteMap a b  ->  (a,b)
findMin (Branch key elt _ EmptyFM _) (key,elt)
findMin (Branch key elt _ fm_l _) findMin fm_l

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (a  ->  b  ->  c  ->  c ->  c  ->  FiniteMap a b  ->  c
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt _ fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  mkBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBalBranch key elt fm_L fm_R 
 | size_l + size_r < 2 = 
mkBranch 1 key elt fm_L fm_R
 | size_r > sIZE_RATIO * size_l = 
mkBalBranch0 fm_L fm_R fm_R
 | size_l > sIZE_RATIO * size_r = 
mkBalBranch1 fm_L fm_R fm_L
 | otherwise = 
mkBranch 2 key elt fm_L fm_R where 
double_L fm_l (Branch key_r elt_r _ (Branch key_rl elt_rl _ fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l _ fm_ll (Branch key_lr elt_lr _ fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch _ _ _ fm_rl fm_rr
 | sizeFM fm_rl < 2 * sizeFM fm_rr = 
single_L fm_L fm_R
 | otherwise = 
double_L fm_L fm_R
mkBalBranch1 fm_L fm_R (Branch _ _ _ fm_ll fm_lr
 | sizeFM fm_lr < 2 * sizeFM fm_ll = 
single_R fm_L fm_R
 | otherwise = 
double_R fm_L fm_R
single_L fm_l (Branch key_r elt_r _ fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l _ fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l sizeFM fm_L
size_r sizeFM fm_R

  mkBranch :: Ord b => Int  ->  b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBranch which key elt fm_l fm_r 
let 
result Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
 where 
balance_ok True
left_ok left_ok0 fm_l key fm_l
left_ok0 fm_l key EmptyFM True
left_ok0 fm_l key (Branch left_key _ _ _ _) 
let 
biggest_left_key fst (findMax fm_l)
in biggest_left_key < key
left_size sizeFM fm_l
right_ok right_ok0 fm_r key fm_r
right_ok0 fm_r key EmptyFM True
right_ok0 fm_r key (Branch right_key _ _ _ _) 
let 
smallest_right_key fst (findMin fm_r)
in key < smallest_right_key
right_size sizeFM fm_r
unbox :: Int  ->  Int
unbox x x

  mkVBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkVBalBranch key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch key elt fm_l@(Branch key_l elt_l _ fm_ll fm_lrfm_r@(Branch key_r elt_r _ fm_rl fm_rr
 | sIZE_RATIO * size_l < size_r = 
mkBalBranch key_r elt_r (mkVBalBranch key elt fm_l fm_rl) fm_rr
 | sIZE_RATIO * size_r < size_l = 
mkBalBranch key_l elt_l fm_ll (mkVBalBranch key elt fm_lr fm_r)
 | otherwise = 
mkBranch 13 key elt fm_l fm_r where 
size_l sizeFM fm_l
size_r sizeFM fm_r

  plusFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
plusFM_C combiner EmptyFM fm2 fm2
plusFM_C combiner fm1 EmptyFM fm1
plusFM_C combiner fm1 (Branch split_key elt2 _ left right
mkVBalBranch split_key new_elt (plusFM_C combiner lts left) (plusFM_C combiner gts right) where 
gts splitGT fm1 split_key
lts splitLT fm1 split_key
new_elt new_elt0 elt2 combiner (lookupFM fm1 split_key)
new_elt0 elt2 combiner Nothing elt2
new_elt0 elt2 combiner (Just elt1combiner elt1 elt2

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size

  splitGT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitGT EmptyFM split_key emptyFM
splitGT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key > key = 
splitGT fm_r split_key
 | split_key < key = 
mkVBalBranch key elt (splitGT fm_l split_key) fm_r
 | otherwise = 
fm_r

  splitLT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitLT EmptyFM split_key emptyFM
splitLT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key < key = 
splitLT fm_l split_key
 | split_key > key = 
mkVBalBranch key elt fm_l (splitLT fm_r split_key)
 | otherwise = 
fm_l

  unitFM :: a  ->  b  ->  FiniteMap a b
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Replaced joker patterns by fresh variables and removed binding patterns.
Binding Reductions:
The bind variable of the following binding Pattern
fm_l@(Branch yy yz zu zv zw)

is replaced by the following term
Branch yy yz zu zv zw

The bind variable of the following binding Pattern
fm_r@(Branch zy zz vuu vuv vuw)

is replaced by the following term
Branch zy zz vuu vuv vuw



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
HASKELL
                  ↳ COR

mainModule FiniteMap
  ((plusFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap (Maybe a) b  ->  FiniteMap (Maybe a) b  ->  FiniteMap (Maybe a) b) :: Ord a => (b  ->  b  ->  b ->  FiniteMap (Maybe a) b  ->  FiniteMap (Maybe a) b  ->  FiniteMap (Maybe a) b)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord b => FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM_C combiner EmptyFM key elt unitFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt 
 | new_key < key = 
mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
 | new_key > key = 
mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
 | otherwise = 
Branch new_key (combiner elt new_elt) size fm_l fm_r

  emptyFM :: FiniteMap a b
emptyFM EmptyFM

  findMax :: FiniteMap a b  ->  (a,b)
findMax (Branch key elt vwx vwy EmptyFM(key,elt)
findMax (Branch key elt vwz vxu fm_rfindMax fm_r

  findMin :: FiniteMap b a  ->  (b,a)
findMin (Branch key elt wz EmptyFM xu(key,elt)
findMin (Branch key elt xv fm_l xwfindMin fm_l

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (c  ->  b  ->  a  ->  a ->  a  ->  FiniteMap c b  ->  a
foldFM k z EmptyFM z
foldFM k z (Branch key elt wy fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord a => FiniteMap a b  ->  a  ->  Maybe b
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt vxv fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  mkBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBalBranch key elt fm_L fm_R 
 | size_l + size_r < 2 = 
mkBranch 1 key elt fm_L fm_R
 | size_r > sIZE_RATIO * size_l = 
mkBalBranch0 fm_L fm_R fm_R
 | size_l > sIZE_RATIO * size_r = 
mkBalBranch1 fm_L fm_R fm_L
 | otherwise = 
mkBranch 2 key elt fm_L fm_R where 
double_L fm_l (Branch key_r elt_r vvx (Branch key_rl elt_rl vvy fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l vuy fm_ll (Branch key_lr elt_lr vuz fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr
 | sizeFM fm_rl < 2 * sizeFM fm_rr = 
single_L fm_L fm_R
 | otherwise = 
double_L fm_L fm_R
mkBalBranch1 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr
 | sizeFM fm_lr < 2 * sizeFM fm_ll = 
single_R fm_L fm_R
 | otherwise = 
double_R fm_L fm_R
single_L fm_l (Branch key_r elt_r vww fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l vux fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l sizeFM fm_L
size_r sizeFM fm_R

  mkBranch :: Ord b => Int  ->  b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBranch which key elt fm_l fm_r 
let 
result Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
 where 
balance_ok True
left_ok left_ok0 fm_l key fm_l
left_ok0 fm_l key EmptyFM True
left_ok0 fm_l key (Branch left_key vw vx vy vz
let 
biggest_left_key fst (findMax fm_l)
in biggest_left_key < key
left_size sizeFM fm_l
right_ok right_ok0 fm_r key fm_r
right_ok0 fm_r key EmptyFM True
right_ok0 fm_r key (Branch right_key wu wv ww wx
let 
smallest_right_key fst (findMin fm_r)
in key < smallest_right_key
right_size sizeFM fm_r
unbox :: Int  ->  Int
unbox x x

  mkVBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkVBalBranch key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw
 | sIZE_RATIO * size_l < size_r = 
mkBalBranch zy zz (mkVBalBranch key elt (Branch yy yz zu zv zw) vuv) vuw
 | sIZE_RATIO * size_r < size_l = 
mkBalBranch yy yz zv (mkVBalBranch key elt zw (Branch zy zz vuu vuv vuw))
 | otherwise = 
mkBranch 13 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw) where 
size_l sizeFM (Branch yy yz zu zv zw)
size_r sizeFM (Branch zy zz vuu vuv vuw)

  plusFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
plusFM_C combiner EmptyFM fm2 fm2
plusFM_C combiner fm1 EmptyFM fm1
plusFM_C combiner fm1 (Branch split_key elt2 vxw left right
mkVBalBranch split_key new_elt (plusFM_C combiner lts left) (plusFM_C combiner gts right) where 
gts splitGT fm1 split_key
lts splitLT fm1 split_key
new_elt new_elt0 elt2 combiner (lookupFM fm1 split_key)
new_elt0 elt2 combiner Nothing elt2
new_elt0 elt2 combiner (Just elt1combiner elt1 elt2

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch xz yu size yv ywsize

  splitGT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitGT EmptyFM split_key emptyFM
splitGT (Branch key elt xy fm_l fm_rsplit_key 
 | split_key > key = 
splitGT fm_r split_key
 | split_key < key = 
mkVBalBranch key elt (splitGT fm_l split_key) fm_r
 | otherwise = 
fm_r

  splitLT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitLT EmptyFM split_key emptyFM
splitLT (Branch key elt xx fm_l fm_rsplit_key 
 | split_key < key = 
splitLT fm_l split_key
 | split_key > key = 
mkVBalBranch key elt fm_l (splitLT fm_r split_key)
 | otherwise = 
fm_l

  unitFM :: a  ->  b  ->  FiniteMap a b
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Cond Reductions:
The following Function with conditions
splitLT EmptyFM split_key = emptyFM
splitLT (Branch key elt xx fm_l fm_rsplit_key
 | split_key < key
 = splitLT fm_l split_key
 | split_key > key
 = mkVBalBranch key elt fm_l (splitLT fm_r split_key)
 | otherwise
 = fm_l

is transformed to
splitLT EmptyFM split_key = splitLT4 EmptyFM split_key
splitLT (Branch key elt xx fm_l fm_rsplit_key = splitLT3 (Branch key elt xx fm_l fm_rsplit_key

splitLT0 key elt xx fm_l fm_r split_key True = fm_l

splitLT2 key elt xx fm_l fm_r split_key True = splitLT fm_l split_key
splitLT2 key elt xx fm_l fm_r split_key False = splitLT1 key elt xx fm_l fm_r split_key (split_key > key)

splitLT1 key elt xx fm_l fm_r split_key True = mkVBalBranch key elt fm_l (splitLT fm_r split_key)
splitLT1 key elt xx fm_l fm_r split_key False = splitLT0 key elt xx fm_l fm_r split_key otherwise

splitLT3 (Branch key elt xx fm_l fm_rsplit_key = splitLT2 key elt xx fm_l fm_r split_key (split_key < key)

splitLT4 EmptyFM split_key = emptyFM
splitLT4 www wwx = splitLT3 www wwx

The following Function with conditions
splitGT EmptyFM split_key = emptyFM
splitGT (Branch key elt xy fm_l fm_rsplit_key
 | split_key > key
 = splitGT fm_r split_key
 | split_key < key
 = mkVBalBranch key elt (splitGT fm_l split_keyfm_r
 | otherwise
 = fm_r

is transformed to
splitGT EmptyFM split_key = splitGT4 EmptyFM split_key
splitGT (Branch key elt xy fm_l fm_rsplit_key = splitGT3 (Branch key elt xy fm_l fm_rsplit_key

splitGT1 key elt xy fm_l fm_r split_key True = mkVBalBranch key elt (splitGT fm_l split_keyfm_r
splitGT1 key elt xy fm_l fm_r split_key False = splitGT0 key elt xy fm_l fm_r split_key otherwise

splitGT0 key elt xy fm_l fm_r split_key True = fm_r

splitGT2 key elt xy fm_l fm_r split_key True = splitGT fm_r split_key
splitGT2 key elt xy fm_l fm_r split_key False = splitGT1 key elt xy fm_l fm_r split_key (split_key < key)

splitGT3 (Branch key elt xy fm_l fm_rsplit_key = splitGT2 key elt xy fm_l fm_r split_key (split_key > key)

splitGT4 EmptyFM split_key = emptyFM
splitGT4 wxu wxv = splitGT3 wxu wxv

The following Function with conditions
mkVBalBranch key elt EmptyFM fm_r = addToFM fm_r key elt
mkVBalBranch key elt fm_l EmptyFM = addToFM fm_l key elt
mkVBalBranch key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)
 | sIZE_RATIO * size_l < size_r
 = mkBalBranch zy zz (mkVBalBranch key elt (Branch yy yz zu zv zwvuvvuw
 | sIZE_RATIO * size_r < size_l
 = mkBalBranch yy yz zv (mkVBalBranch key elt zw (Branch zy zz vuu vuv vuw))
 | otherwise
 = mkBranch 13 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)
where 
size_l  = sizeFM (Branch yy yz zu zv zw)
size_r  = sizeFM (Branch zy zz vuu vuv vuw)

is transformed to
mkVBalBranch key elt EmptyFM fm_r = mkVBalBranch5 key elt EmptyFM fm_r
mkVBalBranch key elt fm_l EmptyFM = mkVBalBranch4 key elt fm_l EmptyFM
mkVBalBranch key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw) = mkVBalBranch3 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)

mkVBalBranch3 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw) = 
mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * size_l < size_r)
where 
mkVBalBranch0 key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBranch 13 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)
mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBalBranch yy yz zv (mkVBalBranch key elt zw (Branch zy zz vuu vuv vuw))
mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw False = mkVBalBranch0 key elt yy yz zu zv zw zy zz vuu vuv vuw otherwise
mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBalBranch zy zz (mkVBalBranch key elt (Branch yy yz zu zv zwvuvvuw
mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw False = mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * size_r < size_l)
size_l  = sizeFM (Branch yy yz zu zv zw)
size_r  = sizeFM (Branch zy zz vuu vuv vuw)

mkVBalBranch4 key elt fm_l EmptyFM = addToFM fm_l key elt
mkVBalBranch4 wxz wyu wyv wyw = mkVBalBranch3 wxz wyu wyv wyw

mkVBalBranch5 key elt EmptyFM fm_r = addToFM fm_r key elt
mkVBalBranch5 wyy wyz wzu wzv = mkVBalBranch4 wyy wyz wzu wzv

The following Function with conditions
mkBalBranch1 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)
 | sizeFM fm_lr < 2 * sizeFM fm_ll
 = single_R fm_L fm_R
 | otherwise
 = double_R fm_L fm_R

is transformed to
mkBalBranch1 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr) = mkBalBranch12 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)

mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr True = single_R fm_L fm_R
mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr False = mkBalBranch10 fm_L fm_R vvu vvv vvw fm_ll fm_lr otherwise

mkBalBranch10 fm_L fm_R vvu vvv vvw fm_ll fm_lr True = double_R fm_L fm_R

mkBalBranch12 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr) = mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)

The following Function with conditions
mkBalBranch0 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)
 | sizeFM fm_rl < 2 * sizeFM fm_rr
 = single_L fm_L fm_R
 | otherwise
 = double_L fm_L fm_R

is transformed to
mkBalBranch0 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr) = mkBalBranch02 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)

mkBalBranch00 fm_L fm_R vvz vwu vwv fm_rl fm_rr True = double_L fm_L fm_R

mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr True = single_L fm_L fm_R
mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr False = mkBalBranch00 fm_L fm_R vvz vwu vwv fm_rl fm_rr otherwise

mkBalBranch02 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr) = mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)

The following Function with conditions
mkBalBranch key elt fm_L fm_R
 | size_l + size_r < 2
 = mkBranch 1 key elt fm_L fm_R
 | size_r > sIZE_RATIO * size_l
 = mkBalBranch0 fm_L fm_R fm_R
 | size_l > sIZE_RATIO * size_r
 = mkBalBranch1 fm_L fm_R fm_L
 | otherwise
 = mkBranch 2 key elt fm_L fm_R
where 
double_L fm_l (Branch key_r elt_r vvx (Branch key_rl elt_rl vvy fm_rll fm_rlrfm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l vuy fm_ll (Branch key_lr elt_lr vuz fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)
 | sizeFM fm_rl < 2 * sizeFM fm_rr
 = single_L fm_L fm_R
 | otherwise
 = double_L fm_L fm_R
mkBalBranch1 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)
 | sizeFM fm_lr < 2 * sizeFM fm_ll
 = single_R fm_L fm_R
 | otherwise
 = double_R fm_L fm_R
single_L fm_l (Branch key_r elt_r vww fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rlfm_rr
single_R (Branch key_l elt_l vux fm_ll fm_lrfm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l  = sizeFM fm_L
size_r  = sizeFM fm_R

is transformed to
mkBalBranch key elt fm_L fm_R = mkBalBranch6 key elt fm_L fm_R

mkBalBranch6 key elt fm_L fm_R = 
mkBalBranch5 key elt fm_L fm_R (size_l + size_r < 2)
where 
double_L fm_l (Branch key_r elt_r vvx (Branch key_rl elt_rl vvy fm_rll fm_rlrfm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l vuy fm_ll (Branch key_lr elt_lr vuz fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr) = mkBalBranch02 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)
mkBalBranch00 fm_L fm_R vvz vwu vwv fm_rl fm_rr True = double_L fm_L fm_R
mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr True = single_L fm_L fm_R
mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr False = mkBalBranch00 fm_L fm_R vvz vwu vwv fm_rl fm_rr otherwise
mkBalBranch02 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr) = mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)
mkBalBranch1 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr) = mkBalBranch12 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)
mkBalBranch10 fm_L fm_R vvu vvv vvw fm_ll fm_lr True = double_R fm_L fm_R
mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr True = single_R fm_L fm_R
mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr False = mkBalBranch10 fm_L fm_R vvu vvv vvw fm_ll fm_lr otherwise
mkBalBranch12 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr) = mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)
mkBalBranch2 key elt fm_L fm_R True = mkBranch 2 key elt fm_L fm_R
mkBalBranch3 key elt fm_L fm_R True = mkBalBranch1 fm_L fm_R fm_L
mkBalBranch3 key elt fm_L fm_R False = mkBalBranch2 key elt fm_L fm_R otherwise
mkBalBranch4 key elt fm_L fm_R True = mkBalBranch0 fm_L fm_R fm_R
mkBalBranch4 key elt fm_L fm_R False = mkBalBranch3 key elt fm_L fm_R (size_l > sIZE_RATIO * size_r)
mkBalBranch5 key elt fm_L fm_R True = mkBranch 1 key elt fm_L fm_R
mkBalBranch5 key elt fm_L fm_R False = mkBalBranch4 key elt fm_L fm_R (size_r > sIZE_RATIO * size_l)
single_L fm_l (Branch key_r elt_r vww fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rlfm_rr
single_R (Branch key_l elt_l vux fm_ll fm_lrfm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l  = sizeFM fm_L
size_r  = sizeFM fm_R

The following Function with conditions
addToFM_C combiner EmptyFM key elt = unitFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt
 | new_key < key
 = mkBalBranch key elt (addToFM_C combiner fm_l new_key new_eltfm_r
 | new_key > key
 = mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
 | otherwise
 = Branch new_key (combiner elt new_eltsize fm_l fm_r

is transformed to
addToFM_C combiner EmptyFM key elt = addToFM_C4 combiner EmptyFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt = addToFM_C3 combiner (Branch key elt size fm_l fm_rnew_key new_elt

addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt True = Branch new_key (combiner elt new_eltsize fm_l fm_r

addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt True = mkBalBranch key elt (addToFM_C combiner fm_l new_key new_eltfm_r
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt False = addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt (new_key > key)

addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt True = mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt False = addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt otherwise

addToFM_C3 combiner (Branch key elt size fm_l fm_rnew_key new_elt = addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt (new_key < key)

addToFM_C4 combiner EmptyFM key elt = unitFM key elt
addToFM_C4 xuu xuv xuw xux = addToFM_C3 xuu xuv xuw xux

The following Function with conditions
lookupFM EmptyFM key = Nothing
lookupFM (Branch key elt vxv fm_l fm_rkey_to_find
 | key_to_find < key
 = lookupFM fm_l key_to_find
 | key_to_find > key
 = lookupFM fm_r key_to_find
 | otherwise
 = Just elt

is transformed to
lookupFM EmptyFM key = lookupFM4 EmptyFM key
lookupFM (Branch key elt vxv fm_l fm_rkey_to_find = lookupFM3 (Branch key elt vxv fm_l fm_rkey_to_find

lookupFM1 key elt vxv fm_l fm_r key_to_find True = lookupFM fm_r key_to_find
lookupFM1 key elt vxv fm_l fm_r key_to_find False = lookupFM0 key elt vxv fm_l fm_r key_to_find otherwise

lookupFM0 key elt vxv fm_l fm_r key_to_find True = Just elt

lookupFM2 key elt vxv fm_l fm_r key_to_find True = lookupFM fm_l key_to_find
lookupFM2 key elt vxv fm_l fm_r key_to_find False = lookupFM1 key elt vxv fm_l fm_r key_to_find (key_to_find > key)

lookupFM3 (Branch key elt vxv fm_l fm_rkey_to_find = lookupFM2 key elt vxv fm_l fm_r key_to_find (key_to_find < key)

lookupFM4 EmptyFM key = Nothing
lookupFM4 xvu xvv = lookupFM3 xvu xvv

The following Function with conditions
compare x y
 | x == y
 = EQ
 | x <= y
 = LT
 | otherwise
 = GT

is transformed to
compare x y = compare3 x y

compare1 x y True = LT
compare1 x y False = compare0 x y otherwise

compare2 x y True = EQ
compare2 x y False = compare1 x y (x <= y)

compare0 x y True = GT

compare3 x y = compare2 x y (x == y)

The following Function with conditions
gcd' x 0 = x
gcd' x y = gcd' y (x `rem` y)

is transformed to
gcd' x xvw = gcd'2 x xvw
gcd' x y = gcd'0 x y

gcd'0 x y = gcd' y (x `rem` y)

gcd'1 True x xvw = x
gcd'1 xvx xvy xvz = gcd'0 xvy xvz

gcd'2 x xvw = gcd'1 (xvw == 0) x xvw
gcd'2 xwu xwv = gcd'0 xwu xwv

The following Function with conditions
gcd 0 0 = error []
gcd x y = 
gcd' (abs x) (abs y)
where 
gcd' x 0 = x
gcd' x y = gcd' y (x `rem` y)

is transformed to
gcd xww xwx = gcd3 xww xwx
gcd x y = gcd0 x y

gcd0 x y = 
gcd' (abs x) (abs y)
where 
gcd' x xvw = gcd'2 x xvw
gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x xvw = x
gcd'1 xvx xvy xvz = gcd'0 xvy xvz
gcd'2 x xvw = gcd'1 (xvw == 0) x xvw
gcd'2 xwu xwv = gcd'0 xwu xwv

gcd1 True xww xwx = error []
gcd1 xwy xwz xxu = gcd0 xwz xxu

gcd2 True xww xwx = gcd1 (xwx == 0) xww xwx
gcd2 xxv xxw xxx = gcd0 xxw xxx

gcd3 xww xwx = gcd2 (xww == 0) xww xwx
gcd3 xxy xxz = gcd0 xxy xxz

The following Function with conditions
absReal x
 | x >= 0
 = x
 | otherwise
 = `negate` x

is transformed to
absReal x = absReal2 x

absReal0 x True = `negate` x

absReal1 x True = x
absReal1 x False = absReal0 x otherwise

absReal2 x = absReal1 x (x >= 0)

The following Function with conditions
undefined 
 | False
 = undefined

is transformed to
undefined  = undefined1

undefined0 True = undefined

undefined1  = undefined0 False

The following Function with conditions
reduce x y
 | y == 0
 = error []
 | otherwise
 = x `quot` d :% (y `quot` d)
where 
d  = gcd x y

is transformed to
reduce x y = reduce2 x y

reduce2 x y = 
reduce1 x y (y == 0)
where 
d  = gcd x y
reduce0 x y True = x `quot` d :% (y `quot` d)
reduce1 x y True = error []
reduce1 x y False = reduce0 x y otherwise



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
HASKELL
                      ↳ LetRed

mainModule FiniteMap
  ((plusFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap (Maybe b) a  ->  FiniteMap (Maybe b) a  ->  FiniteMap (Maybe b) a) :: Ord b => (a  ->  a  ->  a ->  FiniteMap (Maybe b) a  ->  FiniteMap (Maybe b) a  ->  FiniteMap (Maybe b) a)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord b => FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM_C combiner EmptyFM key elt addToFM_C4 combiner EmptyFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt addToFM_C3 combiner (Branch key elt size fm_l fm_r) new_key new_elt

  
addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt True Branch new_key (combiner elt new_elt) size fm_l fm_r

  
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt True mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt False addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt otherwise

  
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt True mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt False addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt (new_key > key)

  
addToFM_C3 combiner (Branch key elt size fm_l fm_rnew_key new_elt addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt (new_key < key)

  
addToFM_C4 combiner EmptyFM key elt unitFM key elt
addToFM_C4 xuu xuv xuw xux addToFM_C3 xuu xuv xuw xux

  emptyFM :: FiniteMap a b
emptyFM EmptyFM

  findMax :: FiniteMap b a  ->  (b,a)
findMax (Branch key elt vwx vwy EmptyFM(key,elt)
findMax (Branch key elt vwz vxu fm_rfindMax fm_r

  findMin :: FiniteMap b a  ->  (b,a)
findMin (Branch key elt wz EmptyFM xu(key,elt)
findMin (Branch key elt xv fm_l xwfindMin fm_l

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (b  ->  c  ->  a  ->  a ->  a  ->  FiniteMap b c  ->  a
foldFM k z EmptyFM z
foldFM k z (Branch key elt wy fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key lookupFM4 EmptyFM key
lookupFM (Branch key elt vxv fm_l fm_rkey_to_find lookupFM3 (Branch key elt vxv fm_l fm_r) key_to_find

  
lookupFM0 key elt vxv fm_l fm_r key_to_find True Just elt

  
lookupFM1 key elt vxv fm_l fm_r key_to_find True lookupFM fm_r key_to_find
lookupFM1 key elt vxv fm_l fm_r key_to_find False lookupFM0 key elt vxv fm_l fm_r key_to_find otherwise

  
lookupFM2 key elt vxv fm_l fm_r key_to_find True lookupFM fm_l key_to_find
lookupFM2 key elt vxv fm_l fm_r key_to_find False lookupFM1 key elt vxv fm_l fm_r key_to_find (key_to_find > key)

  
lookupFM3 (Branch key elt vxv fm_l fm_rkey_to_find lookupFM2 key elt vxv fm_l fm_r key_to_find (key_to_find < key)

  
lookupFM4 EmptyFM key Nothing
lookupFM4 xvu xvv lookupFM3 xvu xvv

  mkBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBalBranch key elt fm_L fm_R mkBalBranch6 key elt fm_L fm_R

  
mkBalBranch6 key elt fm_L fm_R 
mkBalBranch5 key elt fm_L fm_R (size_l + size_r < 2) where 
double_L fm_l (Branch key_r elt_r vvx (Branch key_rl elt_rl vvy fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l vuy fm_ll (Branch key_lr elt_lr vuz fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rrmkBalBranch02 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)
mkBalBranch00 fm_L fm_R vvz vwu vwv fm_rl fm_rr True double_L fm_L fm_R
mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr True single_L fm_L fm_R
mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr False mkBalBranch00 fm_L fm_R vvz vwu vwv fm_rl fm_rr otherwise
mkBalBranch02 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rrmkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)
mkBalBranch1 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lrmkBalBranch12 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)
mkBalBranch10 fm_L fm_R vvu vvv vvw fm_ll fm_lr True double_R fm_L fm_R
mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr True single_R fm_L fm_R
mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr False mkBalBranch10 fm_L fm_R vvu vvv vvw fm_ll fm_lr otherwise
mkBalBranch12 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lrmkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)
mkBalBranch2 key elt fm_L fm_R True mkBranch 2 key elt fm_L fm_R
mkBalBranch3 key elt fm_L fm_R True mkBalBranch1 fm_L fm_R fm_L
mkBalBranch3 key elt fm_L fm_R False mkBalBranch2 key elt fm_L fm_R otherwise
mkBalBranch4 key elt fm_L fm_R True mkBalBranch0 fm_L fm_R fm_R
mkBalBranch4 key elt fm_L fm_R False mkBalBranch3 key elt fm_L fm_R (size_l > sIZE_RATIO * size_r)
mkBalBranch5 key elt fm_L fm_R True mkBranch 1 key elt fm_L fm_R
mkBalBranch5 key elt fm_L fm_R False mkBalBranch4 key elt fm_L fm_R (size_r > sIZE_RATIO * size_l)
single_L fm_l (Branch key_r elt_r vww fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l vux fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l sizeFM fm_L
size_r sizeFM fm_R

  mkBranch :: Ord a => Int  ->  a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBranch which key elt fm_l fm_r 
let 
result Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
 where 
balance_ok True
left_ok left_ok0 fm_l key fm_l
left_ok0 fm_l key EmptyFM True
left_ok0 fm_l key (Branch left_key vw vx vy vz
let 
biggest_left_key fst (findMax fm_l)
in biggest_left_key < key
left_size sizeFM fm_l
right_ok right_ok0 fm_r key fm_r
right_ok0 fm_r key EmptyFM True
right_ok0 fm_r key (Branch right_key wu wv ww wx
let 
smallest_right_key fst (findMin fm_r)
in key < smallest_right_key
right_size sizeFM fm_r
unbox :: Int  ->  Int
unbox x x

  mkVBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkVBalBranch key elt EmptyFM fm_r mkVBalBranch5 key elt EmptyFM fm_r
mkVBalBranch key elt fm_l EmptyFM mkVBalBranch4 key elt fm_l EmptyFM
mkVBalBranch key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuwmkVBalBranch3 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)

  
mkVBalBranch3 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw
mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * size_l < size_r) where 
mkVBalBranch0 key elt yy yz zu zv zw zy zz vuu vuv vuw True mkBranch 13 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)
mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw True mkBalBranch yy yz zv (mkVBalBranch key elt zw (Branch zy zz vuu vuv vuw))
mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw False mkVBalBranch0 key elt yy yz zu zv zw zy zz vuu vuv vuw otherwise
mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw True mkBalBranch zy zz (mkVBalBranch key elt (Branch yy yz zu zv zw) vuv) vuw
mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw False mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * size_r < size_l)
size_l sizeFM (Branch yy yz zu zv zw)
size_r sizeFM (Branch zy zz vuu vuv vuw)

  
mkVBalBranch4 key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch4 wxz wyu wyv wyw mkVBalBranch3 wxz wyu wyv wyw

  
mkVBalBranch5 key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch5 wyy wyz wzu wzv mkVBalBranch4 wyy wyz wzu wzv

  plusFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
plusFM_C combiner EmptyFM fm2 fm2
plusFM_C combiner fm1 EmptyFM fm1
plusFM_C combiner fm1 (Branch split_key elt2 vxw left right
mkVBalBranch split_key new_elt (plusFM_C combiner lts left) (plusFM_C combiner gts right) where 
gts splitGT fm1 split_key
lts splitLT fm1 split_key
new_elt new_elt0 elt2 combiner (lookupFM fm1 split_key)
new_elt0 elt2 combiner Nothing elt2
new_elt0 elt2 combiner (Just elt1combiner elt1 elt2

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch xz yu size yv ywsize

  splitGT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitGT EmptyFM split_key splitGT4 EmptyFM split_key
splitGT (Branch key elt xy fm_l fm_rsplit_key splitGT3 (Branch key elt xy fm_l fm_r) split_key

  
splitGT0 key elt xy fm_l fm_r split_key True fm_r

  
splitGT1 key elt xy fm_l fm_r split_key True mkVBalBranch key elt (splitGT fm_l split_key) fm_r
splitGT1 key elt xy fm_l fm_r split_key False splitGT0 key elt xy fm_l fm_r split_key otherwise

  
splitGT2 key elt xy fm_l fm_r split_key True splitGT fm_r split_key
splitGT2 key elt xy fm_l fm_r split_key False splitGT1 key elt xy fm_l fm_r split_key (split_key < key)

  
splitGT3 (Branch key elt xy fm_l fm_rsplit_key splitGT2 key elt xy fm_l fm_r split_key (split_key > key)

  
splitGT4 EmptyFM split_key emptyFM
splitGT4 wxu wxv splitGT3 wxu wxv

  splitLT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitLT EmptyFM split_key splitLT4 EmptyFM split_key
splitLT (Branch key elt xx fm_l fm_rsplit_key splitLT3 (Branch key elt xx fm_l fm_r) split_key

  
splitLT0 key elt xx fm_l fm_r split_key True fm_l

  
splitLT1 key elt xx fm_l fm_r split_key True mkVBalBranch key elt fm_l (splitLT fm_r split_key)
splitLT1 key elt xx fm_l fm_r split_key False splitLT0 key elt xx fm_l fm_r split_key otherwise

  
splitLT2 key elt xx fm_l fm_r split_key True splitLT fm_l split_key
splitLT2 key elt xx fm_l fm_r split_key False splitLT1 key elt xx fm_l fm_r split_key (split_key > key)

  
splitLT3 (Branch key elt xx fm_l fm_rsplit_key splitLT2 key elt xx fm_l fm_r split_key (split_key < key)

  
splitLT4 EmptyFM split_key emptyFM
splitLT4 www wwx splitLT3 www wwx

  unitFM :: b  ->  a  ->  FiniteMap b a
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Let/Where Reductions:
The bindings of the following Let/Where expression
mkBalBranch5 key elt fm_L fm_R (size_l + size_r < 2)
where 
double_L fm_l (Branch key_r elt_r vvx (Branch key_rl elt_rl vvy fm_rll fm_rlrfm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l vuy fm_ll (Branch key_lr elt_lr vuz fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr) = mkBalBranch02 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)
mkBalBranch00 fm_L fm_R vvz vwu vwv fm_rl fm_rr True = double_L fm_L fm_R
mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr True = single_L fm_L fm_R
mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr False = mkBalBranch00 fm_L fm_R vvz vwu vwv fm_rl fm_rr otherwise
mkBalBranch02 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr) = mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)
mkBalBranch1 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr) = mkBalBranch12 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)
mkBalBranch10 fm_L fm_R vvu vvv vvw fm_ll fm_lr True = double_R fm_L fm_R
mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr True = single_R fm_L fm_R
mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr False = mkBalBranch10 fm_L fm_R vvu vvv vvw fm_ll fm_lr otherwise
mkBalBranch12 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr) = mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)
mkBalBranch2 key elt fm_L fm_R True = mkBranch 2 key elt fm_L fm_R
mkBalBranch3 key elt fm_L fm_R True = mkBalBranch1 fm_L fm_R fm_L
mkBalBranch3 key elt fm_L fm_R False = mkBalBranch2 key elt fm_L fm_R otherwise
mkBalBranch4 key elt fm_L fm_R True = mkBalBranch0 fm_L fm_R fm_R
mkBalBranch4 key elt fm_L fm_R False = mkBalBranch3 key elt fm_L fm_R (size_l > sIZE_RATIO * size_r)
mkBalBranch5 key elt fm_L fm_R True = mkBranch 1 key elt fm_L fm_R
mkBalBranch5 key elt fm_L fm_R False = mkBalBranch4 key elt fm_L fm_R (size_r > sIZE_RATIO * size_l)
single_L fm_l (Branch key_r elt_r vww fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rlfm_rr
single_R (Branch key_l elt_l vux fm_ll fm_lrfm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l  = sizeFM fm_L
size_r  = sizeFM fm_R

are unpacked to the following functions on top level
mkBalBranch6MkBalBranch02 xyu xyv xyw xyx fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr) = mkBalBranch6MkBalBranch01 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)

mkBalBranch6MkBalBranch4 xyu xyv xyw xyx key elt fm_L fm_R True = mkBalBranch6MkBalBranch0 xyu xyv xyw xyx fm_L fm_R fm_R
mkBalBranch6MkBalBranch4 xyu xyv xyw xyx key elt fm_L fm_R False = mkBalBranch6MkBalBranch3 xyu xyv xyw xyx key elt fm_L fm_R (mkBalBranch6Size_l xyu xyv xyw xyx > sIZE_RATIO * mkBalBranch6Size_r xyu xyv xyw xyx)

mkBalBranch6MkBalBranch1 xyu xyv xyw xyx fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr) = mkBalBranch6MkBalBranch12 xyu xyv xyw xyx fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)

mkBalBranch6MkBalBranch10 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr True = mkBalBranch6Double_R xyu xyv xyw xyx fm_L fm_R

mkBalBranch6MkBalBranch0 xyu xyv xyw xyx fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr) = mkBalBranch6MkBalBranch02 xyu xyv xyw xyx fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)

mkBalBranch6Single_L xyu xyv xyw xyx fm_l (Branch key_r elt_r vww fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 xyu xyv fm_l fm_rlfm_rr

mkBalBranch6MkBalBranch2 xyu xyv xyw xyx key elt fm_L fm_R True = mkBranch 2 key elt fm_L fm_R

mkBalBranch6MkBalBranch5 xyu xyv xyw xyx key elt fm_L fm_R True = mkBranch 1 key elt fm_L fm_R
mkBalBranch6MkBalBranch5 xyu xyv xyw xyx key elt fm_L fm_R False = mkBalBranch6MkBalBranch4 xyu xyv xyw xyx key elt fm_L fm_R (mkBalBranch6Size_r xyu xyv xyw xyx > sIZE_RATIO * mkBalBranch6Size_l xyu xyv xyw xyx)

mkBalBranch6MkBalBranch00 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr True = mkBalBranch6Double_L xyu xyv xyw xyx fm_L fm_R

mkBalBranch6Size_l xyu xyv xyw xyx = sizeFM xyw

mkBalBranch6MkBalBranch3 xyu xyv xyw xyx key elt fm_L fm_R True = mkBalBranch6MkBalBranch1 xyu xyv xyw xyx fm_L fm_R fm_L
mkBalBranch6MkBalBranch3 xyu xyv xyw xyx key elt fm_L fm_R False = mkBalBranch6MkBalBranch2 xyu xyv xyw xyx key elt fm_L fm_R otherwise

mkBalBranch6Double_L xyu xyv xyw xyx fm_l (Branch key_r elt_r vvx (Branch key_rl elt_rl vvy fm_rll fm_rlrfm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 xyu xyv fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)

mkBalBranch6MkBalBranch01 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr True = mkBalBranch6Single_L xyu xyv xyw xyx fm_L fm_R
mkBalBranch6MkBalBranch01 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr False = mkBalBranch6MkBalBranch00 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr otherwise

mkBalBranch6Single_R xyu xyv xyw xyx (Branch key_l elt_l vux fm_ll fm_lrfm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 xyu xyv fm_lr fm_r)

mkBalBranch6MkBalBranch11 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr True = mkBalBranch6Single_R xyu xyv xyw xyx fm_L fm_R
mkBalBranch6MkBalBranch11 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr False = mkBalBranch6MkBalBranch10 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr otherwise

mkBalBranch6MkBalBranch12 xyu xyv xyw xyx fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr) = mkBalBranch6MkBalBranch11 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)

mkBalBranch6Double_R xyu xyv xyw xyx (Branch key_l elt_l vuy fm_ll (Branch key_lr elt_lr vuz fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 xyu xyv fm_lrr fm_r)

mkBalBranch6Size_r xyu xyv xyw xyx = sizeFM xyx

The bindings of the following Let/Where expression
let 
result  = Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
where 
balance_ok  = True
left_ok  = left_ok0 fm_l key fm_l
left_ok0 fm_l key EmptyFM = True
left_ok0 fm_l key (Branch left_key vw vx vy vz) = 
let 
biggest_left_key  = fst (findMax fm_l)
in biggest_left_key < key
left_size  = sizeFM fm_l
right_ok  = right_ok0 fm_r key fm_r
right_ok0 fm_r key EmptyFM = True
right_ok0 fm_r key (Branch right_key wu wv ww wx) = 
let 
smallest_right_key  = fst (findMin fm_r)
in key < smallest_right_key
right_size  = sizeFM fm_r
unbox x = x

are unpacked to the following functions on top level
mkBranchRight_ok0 xyy xyz xzu fm_r key EmptyFM = True
mkBranchRight_ok0 xyy xyz xzu fm_r key (Branch right_key wu wv ww wx) = key < mkBranchRight_ok0Smallest_right_key fm_r

mkBranchRight_ok xyy xyz xzu = mkBranchRight_ok0 xyy xyz xzu xyy xyz xyy

mkBranchUnbox xyy xyz xzu x = x

mkBranchLeft_ok xyy xyz xzu = mkBranchLeft_ok0 xyy xyz xzu xzu xyz xzu

mkBranchLeft_ok0 xyy xyz xzu fm_l key EmptyFM = True
mkBranchLeft_ok0 xyy xyz xzu fm_l key (Branch left_key vw vx vy vz) = mkBranchLeft_ok0Biggest_left_key fm_l < key

mkBranchRight_size xyy xyz xzu = sizeFM xyy

mkBranchBalance_ok xyy xyz xzu = True

mkBranchLeft_size xyy xyz xzu = sizeFM xzu

The bindings of the following Let/Where expression
let 
result  = Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result

are unpacked to the following functions on top level
mkBranchResult xzv xzw xzx xzy = Branch xzv xzw (mkBranchUnbox xzx xzv xzy (1 + mkBranchLeft_size xzx xzv xzy + mkBranchRight_size xzx xzv xzy)) xzy xzx

The bindings of the following Let/Where expression
mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * size_l < size_r)
where 
mkVBalBranch0 key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBranch 13 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)
mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBalBranch yy yz zv (mkVBalBranch key elt zw (Branch zy zz vuu vuv vuw))
mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw False = mkVBalBranch0 key elt yy yz zu zv zw zy zz vuu vuv vuw otherwise
mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBalBranch zy zz (mkVBalBranch key elt (Branch yy yz zu zv zwvuvvuw
mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw False = mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * size_r < size_l)
size_l  = sizeFM (Branch yy yz zu zv zw)
size_r  = sizeFM (Branch zy zz vuu vuv vuw)

are unpacked to the following functions on top level
mkVBalBranch3MkVBalBranch0 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBranch 13 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)

mkVBalBranch3MkVBalBranch2 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBalBranch zy zz (mkVBalBranch key elt (Branch yy yz zu zv zwvuvvuw
mkVBalBranch3MkVBalBranch2 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw False = mkVBalBranch3MkVBalBranch1 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * mkVBalBranch3Size_r xzz yuu yuv yuw yux yuy yuz yvu yvv yvw < mkVBalBranch3Size_l xzz yuu yuv yuw yux yuy yuz yvu yvv yvw)

mkVBalBranch3Size_r xzz yuu yuv yuw yux yuy yuz yvu yvv yvw = sizeFM (Branch xzz yuu yuv yuw yux)

mkVBalBranch3Size_l xzz yuu yuv yuw yux yuy yuz yvu yvv yvw = sizeFM (Branch yuy yuz yvu yvv yvw)

mkVBalBranch3MkVBalBranch1 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBalBranch yy yz zv (mkVBalBranch key elt zw (Branch zy zz vuu vuv vuw))
mkVBalBranch3MkVBalBranch1 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw False = mkVBalBranch3MkVBalBranch0 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw otherwise

The bindings of the following Let/Where expression
mkVBalBranch split_key new_elt (plusFM_C combiner lts left) (plusFM_C combiner gts right)
where 
gts  = splitGT fm1 split_key
lts  = splitLT fm1 split_key
new_elt  = new_elt0 elt2 combiner (lookupFM fm1 split_key)
new_elt0 elt2 combiner Nothing = elt2
new_elt0 elt2 combiner (Just elt1) = combiner elt1 elt2

are unpacked to the following functions on top level
plusFM_CNew_elt0 yvx yvy yvz ywu elt2 combiner Nothing = elt2
plusFM_CNew_elt0 yvx yvy yvz ywu elt2 combiner (Just elt1) = combiner elt1 elt2

plusFM_CNew_elt yvx yvy yvz ywu = plusFM_CNew_elt0 yvx yvy yvz ywu yvx yvy (lookupFM yvz ywu)

plusFM_CLts yvx yvy yvz ywu = splitLT yvz ywu

plusFM_CGts yvx yvy yvz ywu = splitGT yvz ywu

The bindings of the following Let/Where expression
let 
smallest_right_key  = fst (findMin fm_r)
in key < smallest_right_key

are unpacked to the following functions on top level
mkBranchRight_ok0Smallest_right_key ywv = fst (findMin ywv)

The bindings of the following Let/Where expression
let 
biggest_left_key  = fst (findMax fm_l)
in biggest_left_key < key

are unpacked to the following functions on top level
mkBranchLeft_ok0Biggest_left_key yww = fst (findMax yww)

The bindings of the following Let/Where expression
reduce1 x y (y == 0)
where 
d  = gcd x y
reduce0 x y True = x `quot` d :% (y `quot` d)
reduce1 x y True = error []
reduce1 x y False = reduce0 x y otherwise

are unpacked to the following functions on top level
reduce2Reduce1 ywx ywy x y True = error []
reduce2Reduce1 ywx ywy x y False = reduce2Reduce0 ywx ywy x y otherwise

reduce2Reduce0 ywx ywy x y True = x `quot` reduce2D ywx ywy :% (y `quot` reduce2D ywx ywy)

reduce2D ywx ywy = gcd ywx ywy

The bindings of the following Let/Where expression
gcd' (abs x) (abs y)
where 
gcd' x xvw = gcd'2 x xvw
gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x xvw = x
gcd'1 xvx xvy xvz = gcd'0 xvy xvz
gcd'2 x xvw = gcd'1 (xvw == 0) x xvw
gcd'2 xwu xwv = gcd'0 xwu xwv

are unpacked to the following functions on top level
gcd0Gcd'1 True x xvw = x
gcd0Gcd'1 xvx xvy xvz = gcd0Gcd'0 xvy xvz

gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y)

gcd0Gcd'2 x xvw = gcd0Gcd'1 (xvw == 0) x xvw
gcd0Gcd'2 xwu xwv = gcd0Gcd'0 xwu xwv

gcd0Gcd' x xvw = gcd0Gcd'2 x xvw
gcd0Gcd' x y = gcd0Gcd'0 x y



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
HASKELL
                          ↳ NumRed

mainModule FiniteMap
  ((plusFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap (Maybe b) a  ->  FiniteMap (Maybe b) a  ->  FiniteMap (Maybe b) a) :: Ord b => (a  ->  a  ->  a ->  FiniteMap (Maybe b) a  ->  FiniteMap (Maybe b) a  ->  FiniteMap (Maybe b) a)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord a => FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM_C combiner EmptyFM key elt addToFM_C4 combiner EmptyFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt addToFM_C3 combiner (Branch key elt size fm_l fm_r) new_key new_elt

  
addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt True Branch new_key (combiner elt new_elt) size fm_l fm_r

  
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt True mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt False addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt otherwise

  
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt True mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt False addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt (new_key > key)

  
addToFM_C3 combiner (Branch key elt size fm_l fm_rnew_key new_elt addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt (new_key < key)

  
addToFM_C4 combiner EmptyFM key elt unitFM key elt
addToFM_C4 xuu xuv xuw xux addToFM_C3 xuu xuv xuw xux

  emptyFM :: FiniteMap b a
emptyFM EmptyFM

  findMax :: FiniteMap a b  ->  (a,b)
findMax (Branch key elt vwx vwy EmptyFM(key,elt)
findMax (Branch key elt vwz vxu fm_rfindMax fm_r

  findMin :: FiniteMap b a  ->  (b,a)
findMin (Branch key elt wz EmptyFM xu(key,elt)
findMin (Branch key elt xv fm_l xwfindMin fm_l

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (c  ->  a  ->  b  ->  b ->  b  ->  FiniteMap c a  ->  b
foldFM k z EmptyFM z
foldFM k z (Branch key elt wy fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key lookupFM4 EmptyFM key
lookupFM (Branch key elt vxv fm_l fm_rkey_to_find lookupFM3 (Branch key elt vxv fm_l fm_r) key_to_find

  
lookupFM0 key elt vxv fm_l fm_r key_to_find True Just elt

  
lookupFM1 key elt vxv fm_l fm_r key_to_find True lookupFM fm_r key_to_find
lookupFM1 key elt vxv fm_l fm_r key_to_find False lookupFM0 key elt vxv fm_l fm_r key_to_find otherwise

  
lookupFM2 key elt vxv fm_l fm_r key_to_find True lookupFM fm_l key_to_find
lookupFM2 key elt vxv fm_l fm_r key_to_find False lookupFM1 key elt vxv fm_l fm_r key_to_find (key_to_find > key)

  
lookupFM3 (Branch key elt vxv fm_l fm_rkey_to_find lookupFM2 key elt vxv fm_l fm_r key_to_find (key_to_find < key)

  
lookupFM4 EmptyFM key Nothing
lookupFM4 xvu xvv lookupFM3 xvu xvv

  mkBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBalBranch key elt fm_L fm_R mkBalBranch6 key elt fm_L fm_R

  
mkBalBranch6 key elt fm_L fm_R mkBalBranch6MkBalBranch5 key elt fm_L fm_R key elt fm_L fm_R (mkBalBranch6Size_l key elt fm_L fm_R + mkBalBranch6Size_r key elt fm_L fm_R < 2)

  
mkBalBranch6Double_L xyu xyv xyw xyx fm_l (Branch key_r elt_r vvx (Branch key_rl elt_rl vvy fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 xyu xyv fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)

  
mkBalBranch6Double_R xyu xyv xyw xyx (Branch key_l elt_l vuy fm_ll (Branch key_lr elt_lr vuz fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 xyu xyv fm_lrr fm_r)

  
mkBalBranch6MkBalBranch0 xyu xyv xyw xyx fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rrmkBalBranch6MkBalBranch02 xyu xyv xyw xyx fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)

  
mkBalBranch6MkBalBranch00 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr True mkBalBranch6Double_L xyu xyv xyw xyx fm_L fm_R

  
mkBalBranch6MkBalBranch01 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr True mkBalBranch6Single_L xyu xyv xyw xyx fm_L fm_R
mkBalBranch6MkBalBranch01 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr False mkBalBranch6MkBalBranch00 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr otherwise

  
mkBalBranch6MkBalBranch02 xyu xyv xyw xyx fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rrmkBalBranch6MkBalBranch01 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)

  
mkBalBranch6MkBalBranch1 xyu xyv xyw xyx fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lrmkBalBranch6MkBalBranch12 xyu xyv xyw xyx fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)

  
mkBalBranch6MkBalBranch10 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr True mkBalBranch6Double_R xyu xyv xyw xyx fm_L fm_R

  
mkBalBranch6MkBalBranch11 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr True mkBalBranch6Single_R xyu xyv xyw xyx fm_L fm_R
mkBalBranch6MkBalBranch11 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr False mkBalBranch6MkBalBranch10 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr otherwise

  
mkBalBranch6MkBalBranch12 xyu xyv xyw xyx fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lrmkBalBranch6MkBalBranch11 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)

  
mkBalBranch6MkBalBranch2 xyu xyv xyw xyx key elt fm_L fm_R True mkBranch 2 key elt fm_L fm_R

  
mkBalBranch6MkBalBranch3 xyu xyv xyw xyx key elt fm_L fm_R True mkBalBranch6MkBalBranch1 xyu xyv xyw xyx fm_L fm_R fm_L
mkBalBranch6MkBalBranch3 xyu xyv xyw xyx key elt fm_L fm_R False mkBalBranch6MkBalBranch2 xyu xyv xyw xyx key elt fm_L fm_R otherwise

  
mkBalBranch6MkBalBranch4 xyu xyv xyw xyx key elt fm_L fm_R True mkBalBranch6MkBalBranch0 xyu xyv xyw xyx fm_L fm_R fm_R
mkBalBranch6MkBalBranch4 xyu xyv xyw xyx key elt fm_L fm_R False mkBalBranch6MkBalBranch3 xyu xyv xyw xyx key elt fm_L fm_R (mkBalBranch6Size_l xyu xyv xyw xyx > sIZE_RATIO * mkBalBranch6Size_r xyu xyv xyw xyx)

  
mkBalBranch6MkBalBranch5 xyu xyv xyw xyx key elt fm_L fm_R True mkBranch 1 key elt fm_L fm_R
mkBalBranch6MkBalBranch5 xyu xyv xyw xyx key elt fm_L fm_R False mkBalBranch6MkBalBranch4 xyu xyv xyw xyx key elt fm_L fm_R (mkBalBranch6Size_r xyu xyv xyw xyx > sIZE_RATIO * mkBalBranch6Size_l xyu xyv xyw xyx)

  
mkBalBranch6Single_L xyu xyv xyw xyx fm_l (Branch key_r elt_r vww fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 xyu xyv fm_l fm_rl) fm_rr

  
mkBalBranch6Single_R xyu xyv xyw xyx (Branch key_l elt_l vux fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 xyu xyv fm_lr fm_r)

  
mkBalBranch6Size_l xyu xyv xyw xyx sizeFM xyw

  
mkBalBranch6Size_r xyu xyv xyw xyx sizeFM xyx

  mkBranch :: Ord a => Int  ->  a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBranch which key elt fm_l fm_r mkBranchResult key elt fm_r fm_l

  
mkBranchBalance_ok xyy xyz xzu True

  
mkBranchLeft_ok xyy xyz xzu mkBranchLeft_ok0 xyy xyz xzu xzu xyz xzu

  
mkBranchLeft_ok0 xyy xyz xzu fm_l key EmptyFM True
mkBranchLeft_ok0 xyy xyz xzu fm_l key (Branch left_key vw vx vy vzmkBranchLeft_ok0Biggest_left_key fm_l < key

  
mkBranchLeft_ok0Biggest_left_key yww fst (findMax yww)

  
mkBranchLeft_size xyy xyz xzu sizeFM xzu

  
mkBranchResult xzv xzw xzx xzy Branch xzv xzw (mkBranchUnbox xzx xzv xzy (1 + mkBranchLeft_size xzx xzv xzy + mkBranchRight_size xzx xzv xzy)) xzy xzx

  
mkBranchRight_ok xyy xyz xzu mkBranchRight_ok0 xyy xyz xzu xyy xyz xyy

  
mkBranchRight_ok0 xyy xyz xzu fm_r key EmptyFM True
mkBranchRight_ok0 xyy xyz xzu fm_r key (Branch right_key wu wv ww wxkey < mkBranchRight_ok0Smallest_right_key fm_r

  
mkBranchRight_ok0Smallest_right_key ywv fst (findMin ywv)

  
mkBranchRight_size xyy xyz xzu sizeFM xyy

  mkBranchUnbox :: Ord a =>  ->  (FiniteMap a b) ( ->  a ( ->  (FiniteMap a b) (Int  ->  Int)))
mkBranchUnbox xyy xyz xzu x x

  mkVBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkVBalBranch key elt EmptyFM fm_r mkVBalBranch5 key elt EmptyFM fm_r
mkVBalBranch key elt fm_l EmptyFM mkVBalBranch4 key elt fm_l EmptyFM
mkVBalBranch key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuwmkVBalBranch3 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)

  
mkVBalBranch3 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuwmkVBalBranch3MkVBalBranch2 zy zz vuu vuv vuw yy yz zu zv zw key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * mkVBalBranch3Size_l zy zz vuu vuv vuw yy yz zu zv zw < mkVBalBranch3Size_r zy zz vuu vuv vuw yy yz zu zv zw)

  
mkVBalBranch3MkVBalBranch0 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw True mkBranch 13 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)

  
mkVBalBranch3MkVBalBranch1 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw True mkBalBranch yy yz zv (mkVBalBranch key elt zw (Branch zy zz vuu vuv vuw))
mkVBalBranch3MkVBalBranch1 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw False mkVBalBranch3MkVBalBranch0 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw otherwise

  
mkVBalBranch3MkVBalBranch2 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw True mkBalBranch zy zz (mkVBalBranch key elt (Branch yy yz zu zv zw) vuv) vuw
mkVBalBranch3MkVBalBranch2 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw False mkVBalBranch3MkVBalBranch1 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * mkVBalBranch3Size_r xzz yuu yuv yuw yux yuy yuz yvu yvv yvw < mkVBalBranch3Size_l xzz yuu yuv yuw yux yuy yuz yvu yvv yvw)

  
mkVBalBranch3Size_l xzz yuu yuv yuw yux yuy yuz yvu yvv yvw sizeFM (Branch yuy yuz yvu yvv yvw)

  
mkVBalBranch3Size_r xzz yuu yuv yuw yux yuy yuz yvu yvv yvw sizeFM (Branch xzz yuu yuv yuw yux)

  
mkVBalBranch4 key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch4 wxz wyu wyv wyw mkVBalBranch3 wxz wyu wyv wyw

  
mkVBalBranch5 key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch5 wyy wyz wzu wzv mkVBalBranch4 wyy wyz wzu wzv

  plusFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
plusFM_C combiner EmptyFM fm2 fm2
plusFM_C combiner fm1 EmptyFM fm1
plusFM_C combiner fm1 (Branch split_key elt2 vxw left rightmkVBalBranch split_key (plusFM_CNew_elt elt2 combiner fm1 split_key) (plusFM_C combiner (plusFM_CLts elt2 combiner fm1 split_key) left) (plusFM_C combiner (plusFM_CGts elt2 combiner fm1 split_key) right)

  
plusFM_CGts yvx yvy yvz ywu splitGT yvz ywu

  
plusFM_CLts yvx yvy yvz ywu splitLT yvz ywu

  
plusFM_CNew_elt yvx yvy yvz ywu plusFM_CNew_elt0 yvx yvy yvz ywu yvx yvy (lookupFM yvz ywu)

  
plusFM_CNew_elt0 yvx yvy yvz ywu elt2 combiner Nothing elt2
plusFM_CNew_elt0 yvx yvy yvz ywu elt2 combiner (Just elt1combiner elt1 elt2

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch xz yu size yv ywsize

  splitGT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitGT EmptyFM split_key splitGT4 EmptyFM split_key
splitGT (Branch key elt xy fm_l fm_rsplit_key splitGT3 (Branch key elt xy fm_l fm_r) split_key

  
splitGT0 key elt xy fm_l fm_r split_key True fm_r

  
splitGT1 key elt xy fm_l fm_r split_key True mkVBalBranch key elt (splitGT fm_l split_key) fm_r
splitGT1 key elt xy fm_l fm_r split_key False splitGT0 key elt xy fm_l fm_r split_key otherwise

  
splitGT2 key elt xy fm_l fm_r split_key True splitGT fm_r split_key
splitGT2 key elt xy fm_l fm_r split_key False splitGT1 key elt xy fm_l fm_r split_key (split_key < key)

  
splitGT3 (Branch key elt xy fm_l fm_rsplit_key splitGT2 key elt xy fm_l fm_r split_key (split_key > key)

  
splitGT4 EmptyFM split_key emptyFM
splitGT4 wxu wxv splitGT3 wxu wxv

  splitLT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitLT EmptyFM split_key splitLT4 EmptyFM split_key
splitLT (Branch key elt xx fm_l fm_rsplit_key splitLT3 (Branch key elt xx fm_l fm_r) split_key

  
splitLT0 key elt xx fm_l fm_r split_key True fm_l

  
splitLT1 key elt xx fm_l fm_r split_key True mkVBalBranch key elt fm_l (splitLT fm_r split_key)
splitLT1 key elt xx fm_l fm_r split_key False splitLT0 key elt xx fm_l fm_r split_key otherwise

  
splitLT2 key elt xx fm_l fm_r split_key True splitLT fm_l split_key
splitLT2 key elt xx fm_l fm_r split_key False splitLT1 key elt xx fm_l fm_r split_key (split_key > key)

  
splitLT3 (Branch key elt xx fm_l fm_rsplit_key splitLT2 key elt xx fm_l fm_r split_key (split_key < key)

  
splitLT4 EmptyFM split_key emptyFM
splitLT4 www wwx splitLT3 www wwx

  unitFM :: b  ->  a  ->  FiniteMap b a
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Num Reduction: All numbers are transformed to thier corresponding representation with Pos, Neg, Succ and Zero.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
HASKELL
                              ↳ Narrow

mainModule FiniteMap
  (plusFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap (Maybe b) a  ->  FiniteMap (Maybe b) a  ->  FiniteMap (Maybe b) a)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord a => FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM_C combiner EmptyFM key elt addToFM_C4 combiner EmptyFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt addToFM_C3 combiner (Branch key elt size fm_l fm_r) new_key new_elt

  
addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt True Branch new_key (combiner elt new_elt) size fm_l fm_r

  
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt True mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt False addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt otherwise

  
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt True mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt False addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt (new_key > key)

  
addToFM_C3 combiner (Branch key elt size fm_l fm_rnew_key new_elt addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt (new_key < key)

  
addToFM_C4 combiner EmptyFM key elt unitFM key elt
addToFM_C4 xuu xuv xuw xux addToFM_C3 xuu xuv xuw xux

  emptyFM :: FiniteMap b a
emptyFM EmptyFM

  findMax :: FiniteMap b a  ->  (b,a)
findMax (Branch key elt vwx vwy EmptyFM(key,elt)
findMax (Branch key elt vwz vxu fm_rfindMax fm_r

  findMin :: FiniteMap b a  ->  (b,a)
findMin (Branch key elt wz EmptyFM xu(key,elt)
findMin (Branch key elt xv fm_l xwfindMin fm_l

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (b  ->  c  ->  a  ->  a ->  a  ->  FiniteMap b c  ->  a
foldFM k z EmptyFM z
foldFM k z (Branch key elt wy fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key lookupFM4 EmptyFM key
lookupFM (Branch key elt vxv fm_l fm_rkey_to_find lookupFM3 (Branch key elt vxv fm_l fm_r) key_to_find

  
lookupFM0 key elt vxv fm_l fm_r key_to_find True Just elt

  
lookupFM1 key elt vxv fm_l fm_r key_to_find True lookupFM fm_r key_to_find
lookupFM1 key elt vxv fm_l fm_r key_to_find False lookupFM0 key elt vxv fm_l fm_r key_to_find otherwise

  
lookupFM2 key elt vxv fm_l fm_r key_to_find True lookupFM fm_l key_to_find
lookupFM2 key elt vxv fm_l fm_r key_to_find False lookupFM1 key elt vxv fm_l fm_r key_to_find (key_to_find > key)

  
lookupFM3 (Branch key elt vxv fm_l fm_rkey_to_find lookupFM2 key elt vxv fm_l fm_r key_to_find (key_to_find < key)

  
lookupFM4 EmptyFM key Nothing
lookupFM4 xvu xvv lookupFM3 xvu xvv

  mkBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBalBranch key elt fm_L fm_R mkBalBranch6 key elt fm_L fm_R

  
mkBalBranch6 key elt fm_L fm_R mkBalBranch6MkBalBranch5 key elt fm_L fm_R key elt fm_L fm_R (mkBalBranch6Size_l key elt fm_L fm_R + mkBalBranch6Size_r key elt fm_L fm_R < Pos (Succ (Succ Zero)))

  
mkBalBranch6Double_L xyu xyv xyw xyx fm_l (Branch key_r elt_r vvx (Branch key_rl elt_rl vvy fm_rll fm_rlr) fm_rrmkBranch (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) key_rl elt_rl (mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) xyu xyv fm_l fm_rll) (mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))) key_r elt_r fm_rlr fm_rr)

  
mkBalBranch6Double_R xyu xyv xyw xyx (Branch key_l elt_l vuy fm_ll (Branch key_lr elt_lr vuz fm_lrl fm_lrr)) fm_r mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))) key_lr elt_lr (mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))) key_l elt_l fm_ll fm_lrl) (mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))) xyu xyv fm_lrr fm_r)

  
mkBalBranch6MkBalBranch0 xyu xyv xyw xyx fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rrmkBalBranch6MkBalBranch02 xyu xyv xyw xyx fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)

  
mkBalBranch6MkBalBranch00 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr True mkBalBranch6Double_L xyu xyv xyw xyx fm_L fm_R

  
mkBalBranch6MkBalBranch01 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr True mkBalBranch6Single_L xyu xyv xyw xyx fm_L fm_R
mkBalBranch6MkBalBranch01 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr False mkBalBranch6MkBalBranch00 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr otherwise

  
mkBalBranch6MkBalBranch02 xyu xyv xyw xyx fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rrmkBalBranch6MkBalBranch01 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr (sizeFM fm_rl < Pos (Succ (Succ Zero)) * sizeFM fm_rr)

  
mkBalBranch6MkBalBranch1 xyu xyv xyw xyx fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lrmkBalBranch6MkBalBranch12 xyu xyv xyw xyx fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)

  
mkBalBranch6MkBalBranch10 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr True mkBalBranch6Double_R xyu xyv xyw xyx fm_L fm_R

  
mkBalBranch6MkBalBranch11 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr True mkBalBranch6Single_R xyu xyv xyw xyx fm_L fm_R
mkBalBranch6MkBalBranch11 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr False mkBalBranch6MkBalBranch10 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr otherwise

  
mkBalBranch6MkBalBranch12 xyu xyv xyw xyx fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lrmkBalBranch6MkBalBranch11 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr (sizeFM fm_lr < Pos (Succ (Succ Zero)) * sizeFM fm_ll)

  
mkBalBranch6MkBalBranch2 xyu xyv xyw xyx key elt fm_L fm_R True mkBranch (Pos (Succ (Succ Zero))) key elt fm_L fm_R

  
mkBalBranch6MkBalBranch3 xyu xyv xyw xyx key elt fm_L fm_R True mkBalBranch6MkBalBranch1 xyu xyv xyw xyx fm_L fm_R fm_L
mkBalBranch6MkBalBranch3 xyu xyv xyw xyx key elt fm_L fm_R False mkBalBranch6MkBalBranch2 xyu xyv xyw xyx key elt fm_L fm_R otherwise

  
mkBalBranch6MkBalBranch4 xyu xyv xyw xyx key elt fm_L fm_R True mkBalBranch6MkBalBranch0 xyu xyv xyw xyx fm_L fm_R fm_R
mkBalBranch6MkBalBranch4 xyu xyv xyw xyx key elt fm_L fm_R False mkBalBranch6MkBalBranch3 xyu xyv xyw xyx key elt fm_L fm_R (mkBalBranch6Size_l xyu xyv xyw xyx > sIZE_RATIO * mkBalBranch6Size_r xyu xyv xyw xyx)

  
mkBalBranch6MkBalBranch5 xyu xyv xyw xyx key elt fm_L fm_R True mkBranch (Pos (Succ Zero)) key elt fm_L fm_R
mkBalBranch6MkBalBranch5 xyu xyv xyw xyx key elt fm_L fm_R False mkBalBranch6MkBalBranch4 xyu xyv xyw xyx key elt fm_L fm_R (mkBalBranch6Size_r xyu xyv xyw xyx > sIZE_RATIO * mkBalBranch6Size_l xyu xyv xyw xyx)

  
mkBalBranch6Single_L xyu xyv xyw xyx fm_l (Branch key_r elt_r vww fm_rl fm_rrmkBranch (Pos (Succ (Succ (Succ Zero)))) key_r elt_r (mkBranch (Pos (Succ (Succ (Succ (Succ Zero))))) xyu xyv fm_l fm_rl) fm_rr

  
mkBalBranch6Single_R xyu xyv xyw xyx (Branch key_l elt_l vux fm_ll fm_lrfm_r mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))) key_l elt_l fm_ll (mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))) xyu xyv fm_lr fm_r)

  
mkBalBranch6Size_l xyu xyv xyw xyx sizeFM xyw

  
mkBalBranch6Size_r xyu xyv xyw xyx sizeFM xyx

  mkBranch :: Ord a => Int  ->  a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBranch which key elt fm_l fm_r mkBranchResult key elt fm_r fm_l

  
mkBranchBalance_ok xyy xyz xzu True

  
mkBranchLeft_ok xyy xyz xzu mkBranchLeft_ok0 xyy xyz xzu xzu xyz xzu

  
mkBranchLeft_ok0 xyy xyz xzu fm_l key EmptyFM True
mkBranchLeft_ok0 xyy xyz xzu fm_l key (Branch left_key vw vx vy vzmkBranchLeft_ok0Biggest_left_key fm_l < key

  
mkBranchLeft_ok0Biggest_left_key yww fst (findMax yww)

  
mkBranchLeft_size xyy xyz xzu sizeFM xzu

  
mkBranchResult xzv xzw xzx xzy Branch xzv xzw (mkBranchUnbox xzx xzv xzy (Pos (Succ Zero+ mkBranchLeft_size xzx xzv xzy + mkBranchRight_size xzx xzv xzy)) xzy xzx

  
mkBranchRight_ok xyy xyz xzu mkBranchRight_ok0 xyy xyz xzu xyy xyz xyy

  
mkBranchRight_ok0 xyy xyz xzu fm_r key EmptyFM True
mkBranchRight_ok0 xyy xyz xzu fm_r key (Branch right_key wu wv ww wxkey < mkBranchRight_ok0Smallest_right_key fm_r

  
mkBranchRight_ok0Smallest_right_key ywv fst (findMin ywv)

  
mkBranchRight_size xyy xyz xzu sizeFM xyy

  mkBranchUnbox :: Ord a =>  ->  (FiniteMap a b) ( ->  a ( ->  (FiniteMap a b) (Int  ->  Int)))
mkBranchUnbox xyy xyz xzu x x

  mkVBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkVBalBranch key elt EmptyFM fm_r mkVBalBranch5 key elt EmptyFM fm_r
mkVBalBranch key elt fm_l EmptyFM mkVBalBranch4 key elt fm_l EmptyFM
mkVBalBranch key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuwmkVBalBranch3 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)

  
mkVBalBranch3 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuwmkVBalBranch3MkVBalBranch2 zy zz vuu vuv vuw yy yz zu zv zw key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * mkVBalBranch3Size_l zy zz vuu vuv vuw yy yz zu zv zw < mkVBalBranch3Size_r zy zz vuu vuv vuw yy yz zu zv zw)

  
mkVBalBranch3MkVBalBranch0 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw True mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))) key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)

  
mkVBalBranch3MkVBalBranch1 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw True mkBalBranch yy yz zv (mkVBalBranch key elt zw (Branch zy zz vuu vuv vuw))
mkVBalBranch3MkVBalBranch1 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw False mkVBalBranch3MkVBalBranch0 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw otherwise

  
mkVBalBranch3MkVBalBranch2 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw True mkBalBranch zy zz (mkVBalBranch key elt (Branch yy yz zu zv zw) vuv) vuw
mkVBalBranch3MkVBalBranch2 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw False mkVBalBranch3MkVBalBranch1 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * mkVBalBranch3Size_r xzz yuu yuv yuw yux yuy yuz yvu yvv yvw < mkVBalBranch3Size_l xzz yuu yuv yuw yux yuy yuz yvu yvv yvw)

  
mkVBalBranch3Size_l xzz yuu yuv yuw yux yuy yuz yvu yvv yvw sizeFM (Branch yuy yuz yvu yvv yvw)

  
mkVBalBranch3Size_r xzz yuu yuv yuw yux yuy yuz yvu yvv yvw sizeFM (Branch xzz yuu yuv yuw yux)

  
mkVBalBranch4 key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch4 wxz wyu wyv wyw mkVBalBranch3 wxz wyu wyv wyw

  
mkVBalBranch5 key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch5 wyy wyz wzu wzv mkVBalBranch4 wyy wyz wzu wzv

  plusFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
plusFM_C combiner EmptyFM fm2 fm2
plusFM_C combiner fm1 EmptyFM fm1
plusFM_C combiner fm1 (Branch split_key elt2 vxw left rightmkVBalBranch split_key (plusFM_CNew_elt elt2 combiner fm1 split_key) (plusFM_C combiner (plusFM_CLts elt2 combiner fm1 split_key) left) (plusFM_C combiner (plusFM_CGts elt2 combiner fm1 split_key) right)

  
plusFM_CGts yvx yvy yvz ywu splitGT yvz ywu

  
plusFM_CLts yvx yvy yvz ywu splitLT yvz ywu

  
plusFM_CNew_elt yvx yvy yvz ywu plusFM_CNew_elt0 yvx yvy yvz ywu yvx yvy (lookupFM yvz ywu)

  
plusFM_CNew_elt0 yvx yvy yvz ywu elt2 combiner Nothing elt2
plusFM_CNew_elt0 yvx yvy yvz ywu elt2 combiner (Just elt1combiner elt1 elt2

  sIZE_RATIO :: Int
sIZE_RATIO Pos (Succ (Succ (Succ (Succ (Succ Zero)))))

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM Pos Zero
sizeFM (Branch xz yu size yv ywsize

  splitGT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitGT EmptyFM split_key splitGT4 EmptyFM split_key
splitGT (Branch key elt xy fm_l fm_rsplit_key splitGT3 (Branch key elt xy fm_l fm_r) split_key

  
splitGT0 key elt xy fm_l fm_r split_key True fm_r

  
splitGT1 key elt xy fm_l fm_r split_key True mkVBalBranch key elt (splitGT fm_l split_key) fm_r
splitGT1 key elt xy fm_l fm_r split_key False splitGT0 key elt xy fm_l fm_r split_key otherwise

  
splitGT2 key elt xy fm_l fm_r split_key True splitGT fm_r split_key
splitGT2 key elt xy fm_l fm_r split_key False splitGT1 key elt xy fm_l fm_r split_key (split_key < key)

  
splitGT3 (Branch key elt xy fm_l fm_rsplit_key splitGT2 key elt xy fm_l fm_r split_key (split_key > key)

  
splitGT4 EmptyFM split_key emptyFM
splitGT4 wxu wxv splitGT3 wxu wxv

  splitLT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitLT EmptyFM split_key splitLT4 EmptyFM split_key
splitLT (Branch key elt xx fm_l fm_rsplit_key splitLT3 (Branch key elt xx fm_l fm_r) split_key

  
splitLT0 key elt xx fm_l fm_r split_key True fm_l

  
splitLT1 key elt xx fm_l fm_r split_key True mkVBalBranch key elt fm_l (splitLT fm_r split_key)
splitLT1 key elt xx fm_l fm_r split_key False splitLT0 key elt xx fm_l fm_r split_key otherwise

  
splitLT2 key elt xx fm_l fm_r split_key True splitLT fm_l split_key
splitLT2 key elt xx fm_l fm_r split_key False splitLT1 key elt xx fm_l fm_r split_key (split_key > key)

  
splitLT3 (Branch key elt xx fm_l fm_rsplit_key splitLT2 key elt xx fm_l fm_r split_key (split_key < key)

  
splitLT4 EmptyFM split_key emptyFM
splitLT4 www wwx splitLT3 www wwx

  unitFM :: a  ->  b  ->  FiniteMap a b
unitFM key elt Branch key elt (Pos (Succ Zero)) emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Haskell To QDPs


↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primMinusNat(Succ(ywz166200), Succ(ywz23300)) → new_primMinusNat(ywz166200, ywz23300)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primEqNat(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat(ywz50000, ywz40000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primPlusNat(Succ(ywz19500), Succ(ywz4001000)) → new_primPlusNat(ywz19500, ywz4001000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primMulNat(Succ(ywz500100), Succ(ywz400100)) → new_primMulNat(ywz500100, Succ(ywz400100))

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primCmpNat(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat(ywz500000, ywz400000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_esEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), app(ty_Maybe, gf), gb, gc) → new_esEs1(ywz5000, ywz4000, gf)
new_esEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), hd, app(ty_Maybe, hh), gc) → new_esEs1(ywz5001, ywz4001, hh)
new_esEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), app(app(app(ty_@3, gg), gh), ha), gb, gc) → new_esEs2(ywz5000, ywz4000, gg, gh, ha)
new_esEs0(Left(ywz5000), Left(ywz4000), app(ty_[], cb), cc) → new_esEs(ywz5000, ywz4000, cb)
new_esEs0(Left(ywz5000), Left(ywz4000), app(ty_Maybe, cf), cc) → new_esEs1(ywz5000, ywz4000, cf)
new_esEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), hd, gb, app(ty_[], baf)) → new_esEs(ywz5002, ywz4002, baf)
new_esEs(:(ywz5000, ywz5001), :(ywz4000, ywz4001), app(app(app(ty_@3, bd), be), bf)) → new_esEs2(ywz5000, ywz4000, bd, be, bf)
new_esEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), app(app(ty_@2, hb), hc), gb, gc) → new_esEs3(ywz5000, ywz4000, hb, hc)
new_esEs3(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bda, app(app(app(ty_@3, bdf), bdg), bdh)) → new_esEs2(ywz5001, ywz4001, bdf, bdg, bdh)
new_esEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), app(app(ty_Either, gd), ge), gb, gc) → new_esEs0(ywz5000, ywz4000, gd, ge)
new_esEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), app(ty_[], ga), gb, gc) → new_esEs(ywz5000, ywz4000, ga)
new_esEs3(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), app(ty_[], bbg), bbh) → new_esEs(ywz5000, ywz4000, bbg)
new_esEs3(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), app(ty_Maybe, bcc), bbh) → new_esEs1(ywz5000, ywz4000, bcc)
new_esEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), hd, app(app(ty_@2, bad), bae), gc) → new_esEs3(ywz5001, ywz4001, bad, bae)
new_esEs0(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, cg), da), db), cc) → new_esEs2(ywz5000, ywz4000, cg, da, db)
new_esEs0(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cd), ce), cc) → new_esEs0(ywz5000, ywz4000, cd, ce)
new_esEs3(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bda, app(app(ty_Either, bdc), bdd)) → new_esEs0(ywz5001, ywz4001, bdc, bdd)
new_esEs3(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bda, app(ty_[], bdb)) → new_esEs(ywz5001, ywz4001, bdb)
new_esEs0(Right(ywz5000), Right(ywz4000), de, app(app(ty_Either, dg), dh)) → new_esEs0(ywz5000, ywz4000, dg, dh)
new_esEs3(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bda, app(app(ty_@2, bea), beb)) → new_esEs3(ywz5001, ywz4001, bea, beb)
new_esEs1(Just(ywz5000), Just(ywz4000), app(ty_[], eg)) → new_esEs(ywz5000, ywz4000, eg)
new_esEs3(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bda, app(ty_Maybe, bde)) → new_esEs1(ywz5001, ywz4001, bde)
new_esEs(:(ywz5000, ywz5001), :(ywz4000, ywz4001), app(app(ty_Either, ba), bb)) → new_esEs0(ywz5000, ywz4000, ba, bb)
new_esEs(:(ywz5000, ywz5001), :(ywz4000, ywz4001), ca) → new_esEs(ywz5001, ywz4001, ca)
new_esEs1(Just(ywz5000), Just(ywz4000), app(app(ty_@2, fg), fh)) → new_esEs3(ywz5000, ywz4000, fg, fh)
new_esEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), hd, app(app(app(ty_@3, baa), bab), bac), gc) → new_esEs2(ywz5001, ywz4001, baa, bab, bac)
new_esEs0(Right(ywz5000), Right(ywz4000), de, app(app(app(ty_@3, eb), ec), ed)) → new_esEs2(ywz5000, ywz4000, eb, ec, ed)
new_esEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), hd, app(ty_[], he), gc) → new_esEs(ywz5001, ywz4001, he)
new_esEs3(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), app(app(ty_@2, bcg), bch), bbh) → new_esEs3(ywz5000, ywz4000, bcg, bch)
new_esEs1(Just(ywz5000), Just(ywz4000), app(ty_Maybe, fb)) → new_esEs1(ywz5000, ywz4000, fb)
new_esEs0(Right(ywz5000), Right(ywz4000), de, app(app(ty_@2, ee), ef)) → new_esEs3(ywz5000, ywz4000, ee, ef)
new_esEs0(Right(ywz5000), Right(ywz4000), de, app(ty_[], df)) → new_esEs(ywz5000, ywz4000, df)
new_esEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), hd, gb, app(ty_Maybe, bba)) → new_esEs1(ywz5002, ywz4002, bba)
new_esEs1(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, fc), fd), ff)) → new_esEs2(ywz5000, ywz4000, fc, fd, ff)
new_esEs(:(ywz5000, ywz5001), :(ywz4000, ywz4001), app(app(ty_@2, bg), bh)) → new_esEs3(ywz5000, ywz4000, bg, bh)
new_esEs3(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), app(app(app(ty_@3, bcd), bce), bcf), bbh) → new_esEs2(ywz5000, ywz4000, bcd, bce, bcf)
new_esEs0(Right(ywz5000), Right(ywz4000), de, app(ty_Maybe, ea)) → new_esEs1(ywz5000, ywz4000, ea)
new_esEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), hd, gb, app(app(ty_@2, bbe), bbf)) → new_esEs3(ywz5002, ywz4002, bbe, bbf)
new_esEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), hd, app(app(ty_Either, hf), hg), gc) → new_esEs0(ywz5001, ywz4001, hf, hg)
new_esEs3(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), app(app(ty_Either, bca), bcb), bbh) → new_esEs0(ywz5000, ywz4000, bca, bcb)
new_esEs0(Left(ywz5000), Left(ywz4000), app(app(ty_@2, dc), dd), cc) → new_esEs3(ywz5000, ywz4000, dc, dd)
new_esEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), hd, gb, app(app(ty_Either, bag), bah)) → new_esEs0(ywz5002, ywz4002, bag, bah)
new_esEs1(Just(ywz5000), Just(ywz4000), app(app(ty_Either, eh), fa)) → new_esEs0(ywz5000, ywz4000, eh, fa)
new_esEs(:(ywz5000, ywz5001), :(ywz4000, ywz4001), app(ty_[], h)) → new_esEs(ywz5000, ywz4000, h)
new_esEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), hd, gb, app(app(app(ty_@3, bbb), bbc), bbd)) → new_esEs2(ywz5002, ywz4002, bbb, bbc, bbd)
new_esEs(:(ywz5000, ywz5001), :(ywz4000, ywz4001), app(ty_Maybe, bc)) → new_esEs1(ywz5000, ywz4000, bc)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_compare23(Just(Right(ywz5000)), Just(Right(ywz4000)), False, app(app(ty_Either, dg), app(ty_[], dh))) → new_ltEs0(ywz5000, ywz4000, dh)
new_compare23(Just(@3(ywz5000, ywz5001, ywz5002)), Just(@3(ywz4000, ywz4001, ywz4002)), False, app(app(app(ty_@3, gc), app(app(app(ty_@3, bac), bad), bae)), hg)) → new_lt2(ywz5001, ywz4001, bac, bad, bae)
new_ltEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), app(app(ty_@2, bbe), bbf), gd, hg) → new_compare22(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, bbe, bbf), bbe, bbf)
new_ltEs1(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, ff), fg), fh)) → new_ltEs2(ywz5000, ywz4000, ff, fg, fh)
new_ltEs3(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), app(ty_[], bda), bdb) → new_lt(ywz5000, ywz4000, bda)
new_ltEs(Right(ywz5000), Right(ywz4000), dg, app(app(ty_Either, ea), eb)) → new_ltEs(ywz5000, ywz4000, ea, eb)
new_compare23(Just(@3(ywz5000, ywz5001, ywz5002)), Just(@3(ywz4000, ywz4001, ywz4002)), False, app(app(app(ty_@3, gc), gd), app(app(ty_Either, gf), gg))) → new_ltEs(ywz5002, ywz4002, gf, gg)
new_compare4(ywz5000, ywz4000, bbe, bbf) → new_compare22(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, bbe, bbf), bbe, bbf)
new_compare23(Just(@2(ywz5000, ywz5001)), Just(@2(ywz4000, ywz4001)), False, app(app(ty_@2, app(ty_[], bda)), bdb)) → new_lt(ywz5000, ywz4000, bda)
new_ltEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), gc, app(app(app(ty_@3, bac), bad), bae), hg) → new_lt2(ywz5001, ywz4001, bac, bad, bae)
new_compare23(Just(Left(ywz5000)), Just(Left(ywz4000)), False, app(app(ty_Either, app(ty_Maybe, da)), ce)) → new_ltEs1(ywz5000, ywz4000, da)
new_compare23(Just(@2(ywz5000, ywz5001)), Just(@2(ywz4000, ywz4001)), False, app(app(ty_@2, bbg), app(ty_Maybe, bcc))) → new_ltEs1(ywz5001, ywz4001, bcc)
new_compare23(Just(@3(ywz5000, ywz5001, ywz5002)), Just(@3(ywz4000, ywz4001, ywz4002)), False, app(app(app(ty_@3, gc), app(ty_Maybe, bab)), hg)) → new_lt1(ywz5001, ywz4001, bab)
new_ltEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), gc, app(ty_Maybe, bab), hg) → new_lt1(ywz5001, ywz4001, bab)
new_primCompAux(ywz5000, ywz4000, ywz228, app(ty_[], ba)) → new_compare(ywz5000, ywz4000, ba)
new_compare23(Just(Right(ywz5000)), Just(Right(ywz4000)), False, app(app(ty_Either, dg), app(app(app(ty_@3, ed), ee), ef))) → new_ltEs2(ywz5000, ywz4000, ed, ee, ef)
new_lt3(ywz5000, ywz4000, bbe, bbf) → new_compare22(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, bbe, bbf), bbe, bbf)
new_compare23(Just(@2(ywz5000, ywz5001)), Just(@2(ywz4000, ywz4001)), False, app(app(ty_@2, bbg), app(app(app(ty_@3, bcd), bce), bcf))) → new_ltEs2(ywz5001, ywz4001, bcd, bce, bcf)
new_ltEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), gc, gd, app(ty_Maybe, gh)) → new_ltEs1(ywz5002, ywz4002, gh)
new_compare23(Just(@3(ywz5000, ywz5001, ywz5002)), Just(@3(ywz4000, ywz4001, ywz4002)), False, app(app(app(ty_@3, gc), gd), app(ty_Maybe, gh))) → new_ltEs1(ywz5002, ywz4002, gh)
new_ltEs3(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), app(ty_Maybe, bde), bdb) → new_lt1(ywz5000, ywz4000, bde)
new_ltEs(Left(ywz5000), Left(ywz4000), app(app(ty_@2, de), df), ce) → new_ltEs3(ywz5000, ywz4000, de, df)
new_compare23(Just(@3(ywz5000, ywz5001, ywz5002)), Just(@3(ywz4000, ywz4001, ywz4002)), False, app(app(app(ty_@3, app(app(ty_Either, cb), cc)), gd), hg)) → new_compare20(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, cb, cc), cb, cc)
new_ltEs3(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bbg, app(app(ty_@2, bcg), bch)) → new_ltEs3(ywz5001, ywz4001, bcg, bch)
new_primCompAux(ywz5000, ywz4000, ywz228, app(ty_Maybe, bd)) → new_compare2(ywz5000, ywz4000, bd)
new_compare23(Just(@2(ywz5000, ywz5001)), Just(@2(ywz4000, ywz4001)), False, app(app(ty_@2, app(app(ty_Either, bdc), bdd)), bdb)) → new_lt0(ywz5000, ywz4000, bdc, bdd)
new_lt0(ywz5000, ywz4000, cb, cc) → new_compare20(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, cb, cc), cb, cc)
new_ltEs1(Just(ywz5000), Just(ywz4000), app(app(ty_Either, fb), fc)) → new_ltEs(ywz5000, ywz4000, fb, fc)
new_ltEs(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, db), dc), dd), ce) → new_ltEs2(ywz5000, ywz4000, db, dc, dd)
new_ltEs(Right(ywz5000), Right(ywz4000), dg, app(app(ty_@2, eg), eh)) → new_ltEs3(ywz5000, ywz4000, eg, eh)
new_compare23(Just(:(ywz5000, ywz5001)), Just(:(ywz4000, ywz4001)), False, app(ty_[], h)) → new_compare(ywz5001, ywz4001, h)
new_compare23(Just(@2(ywz5000, ywz5001)), Just(@2(ywz4000, ywz4001)), False, app(app(ty_@2, app(app(ty_@2, bea), beb)), bdb)) → new_lt3(ywz5000, ywz4000, bea, beb)
new_compare23(Just(Right(ywz5000)), Just(Right(ywz4000)), False, app(app(ty_Either, dg), app(app(ty_@2, eg), eh))) → new_ltEs3(ywz5000, ywz4000, eg, eh)
new_ltEs1(Just(ywz5000), Just(ywz4000), app(ty_[], fa)) → new_ltEs0(ywz5000, ywz4000, fa)
new_ltEs3(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bbg, app(app(ty_Either, bca), bcb)) → new_ltEs(ywz5001, ywz4001, bca, bcb)
new_ltEs3(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), app(app(ty_@2, bea), beb), bdb) → new_lt3(ywz5000, ywz4000, bea, beb)
new_primCompAux(ywz5000, ywz4000, ywz228, app(app(app(ty_@3, be), bf), bg)) → new_compare3(ywz5000, ywz4000, be, bf, bg)
new_ltEs(Left(ywz5000), Left(ywz4000), app(ty_Maybe, da), ce) → new_ltEs1(ywz5000, ywz4000, da)
new_ltEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), app(app(app(ty_@3, bbb), bbc), bbd), gd, hg) → new_compare21(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bbb, bbc, bbd), bbb, bbc, bbd)
new_compare23(Just(@3(ywz5000, ywz5001, ywz5002)), Just(@3(ywz4000, ywz4001, ywz4002)), False, app(app(app(ty_@3, gc), app(ty_[], hf)), hg)) → new_lt(ywz5001, ywz4001, hf)
new_ltEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), app(ty_[], bah), gd, hg) → new_compare(ywz5000, ywz4000, bah)
new_compare23(Just(Just(ywz5000)), Just(Just(ywz4000)), False, app(ty_Maybe, app(ty_Maybe, fd))) → new_ltEs1(ywz5000, ywz4000, fd)
new_compare23(Just(@3(ywz5000, ywz5001, ywz5002)), Just(@3(ywz4000, ywz4001, ywz4002)), False, app(app(app(ty_@3, gc), gd), app(app(ty_@2, hd), he))) → new_ltEs3(ywz5002, ywz4002, hd, he)
new_compare23(Just(@2(ywz5000, ywz5001)), Just(@2(ywz4000, ywz4001)), False, app(app(ty_@2, bbg), app(app(ty_@2, bcg), bch))) → new_ltEs3(ywz5001, ywz4001, bcg, bch)
new_compare1(ywz5000, ywz4000, cb, cc) → new_compare20(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, cb, cc), cb, cc)
new_compare23(Just(Right(ywz5000)), Just(Right(ywz4000)), False, app(app(ty_Either, dg), app(ty_Maybe, ec))) → new_ltEs1(ywz5000, ywz4000, ec)
new_ltEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), app(ty_Maybe, bba), gd, hg) → new_lt1(ywz5000, ywz4000, bba)
new_compare23(Just(Just(ywz5000)), Just(Just(ywz4000)), False, app(ty_Maybe, app(app(app(ty_@3, ff), fg), fh))) → new_ltEs2(ywz5000, ywz4000, ff, fg, fh)
new_ltEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), gc, app(app(ty_@2, baf), bag), hg) → new_lt3(ywz5001, ywz4001, baf, bag)
new_ltEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), gc, app(app(ty_Either, hh), baa), hg) → new_lt0(ywz5001, ywz4001, hh, baa)
new_ltEs(Right(ywz5000), Right(ywz4000), dg, app(ty_Maybe, ec)) → new_ltEs1(ywz5000, ywz4000, ec)
new_lt1(ywz50, ywz40, bec) → new_compare23(ywz50, ywz40, new_esEs7(ywz50, ywz40, bec), bec)
new_compare23(Just(Right(ywz5000)), Just(Right(ywz4000)), False, app(app(ty_Either, dg), app(app(ty_Either, ea), eb))) → new_ltEs(ywz5000, ywz4000, ea, eb)
new_compare21(ywz5000, ywz4000, False, bbb, bbc, bbd) → new_ltEs2(ywz5000, ywz4000, bbb, bbc, bbd)
new_compare23(Just(@2(ywz5000, ywz5001)), Just(@2(ywz4000, ywz4001)), False, app(app(ty_@2, bbg), app(ty_[], bbh))) → new_ltEs0(ywz5001, ywz4001, bbh)
new_compare23(Just(@3(ywz5000, ywz5001, ywz5002)), Just(@3(ywz4000, ywz4001, ywz4002)), False, app(app(app(ty_@3, gc), app(app(ty_Either, hh), baa)), hg)) → new_lt0(ywz5001, ywz4001, hh, baa)
new_compare23(Just(@3(ywz5000, ywz5001, ywz5002)), Just(@3(ywz4000, ywz4001, ywz4002)), False, app(app(app(ty_@3, gc), gd), app(app(app(ty_@3, ha), hb), hc))) → new_ltEs2(ywz5002, ywz4002, ha, hb, hc)
new_compare23(Just(@2(ywz5000, ywz5001)), Just(@2(ywz4000, ywz4001)), False, app(app(ty_@2, bbg), app(app(ty_Either, bca), bcb))) → new_ltEs(ywz5001, ywz4001, bca, bcb)
new_ltEs0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), h) → new_compare(ywz5001, ywz4001, h)
new_compare22(ywz5000, ywz4000, False, bbe, bbf) → new_ltEs3(ywz5000, ywz4000, bbe, bbf)
new_compare23(Just(Left(ywz5000)), Just(Left(ywz4000)), False, app(app(ty_Either, app(app(ty_Either, cf), cg)), ce)) → new_ltEs(ywz5000, ywz4000, cf, cg)
new_compare23(Just(@3(ywz5000, ywz5001, ywz5002)), Just(@3(ywz4000, ywz4001, ywz4002)), False, app(app(app(ty_@3, app(app(ty_@2, bbe), bbf)), gd), hg)) → new_compare22(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, bbe, bbf), bbe, bbf)
new_ltEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), gc, gd, app(app(app(ty_@3, ha), hb), hc)) → new_ltEs2(ywz5002, ywz4002, ha, hb, hc)
new_ltEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), gc, gd, app(ty_[], ge)) → new_ltEs0(ywz5002, ywz4002, ge)
new_ltEs(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cf), cg), ce) → new_ltEs(ywz5000, ywz4000, cf, cg)
new_compare23(Just(Left(ywz5000)), Just(Left(ywz4000)), False, app(app(ty_Either, app(ty_[], cd)), ce)) → new_ltEs0(ywz5000, ywz4000, cd)
new_compare23(Just(:(ywz5000, ywz5001)), Just(:(ywz4000, ywz4001)), False, app(ty_[], h)) → new_primCompAux(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, h), h)
new_compare23(Just(@2(ywz5000, ywz5001)), Just(@2(ywz4000, ywz4001)), False, app(app(ty_@2, app(ty_Maybe, bde)), bdb)) → new_lt1(ywz5000, ywz4000, bde)
new_compare2(ywz50, ywz40, bec) → new_compare23(ywz50, ywz40, new_esEs7(ywz50, ywz40, bec), bec)
new_ltEs1(Just(ywz5000), Just(ywz4000), app(ty_Maybe, fd)) → new_ltEs1(ywz5000, ywz4000, fd)
new_ltEs(Right(ywz5000), Right(ywz4000), dg, app(ty_[], dh)) → new_ltEs0(ywz5000, ywz4000, dh)
new_compare23(Just(Just(ywz5000)), Just(Just(ywz4000)), False, app(ty_Maybe, app(app(ty_@2, ga), gb))) → new_ltEs3(ywz5000, ywz4000, ga, gb)
new_ltEs3(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), app(app(ty_Either, bdc), bdd), bdb) → new_lt0(ywz5000, ywz4000, bdc, bdd)
new_compare23(Just(Left(ywz5000)), Just(Left(ywz4000)), False, app(app(ty_Either, app(app(app(ty_@3, db), dc), dd)), ce)) → new_ltEs2(ywz5000, ywz4000, db, dc, dd)
new_ltEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), app(app(ty_Either, cb), cc), gd, hg) → new_compare20(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, cb, cc), cb, cc)
new_compare23(Just(@3(ywz5000, ywz5001, ywz5002)), Just(@3(ywz4000, ywz4001, ywz4002)), False, app(app(app(ty_@3, app(ty_Maybe, bba)), gd), hg)) → new_lt1(ywz5000, ywz4000, bba)
new_lt(ywz5000, ywz4000, bah) → new_compare(ywz5000, ywz4000, bah)
new_ltEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), gc, app(ty_[], hf), hg) → new_lt(ywz5001, ywz4001, hf)
new_compare23(Just(Left(ywz5000)), Just(Left(ywz4000)), False, app(app(ty_Either, app(app(ty_@2, de), df)), ce)) → new_ltEs3(ywz5000, ywz4000, de, df)
new_ltEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), gc, gd, app(app(ty_@2, hd), he)) → new_ltEs3(ywz5002, ywz4002, hd, he)
new_primCompAux(ywz5000, ywz4000, ywz228, app(app(ty_Either, bb), bc)) → new_compare1(ywz5000, ywz4000, bb, bc)
new_ltEs(Left(ywz5000), Left(ywz4000), app(ty_[], cd), ce) → new_ltEs0(ywz5000, ywz4000, cd)
new_ltEs0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), h) → new_primCompAux(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, h), h)
new_compare20(ywz5000, ywz4000, False, cb, cc) → new_ltEs(ywz5000, ywz4000, cb, cc)
new_ltEs3(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bbg, app(app(app(ty_@3, bcd), bce), bcf)) → new_ltEs2(ywz5001, ywz4001, bcd, bce, bcf)
new_ltEs2(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), gc, gd, app(app(ty_Either, gf), gg)) → new_ltEs(ywz5002, ywz4002, gf, gg)
new_ltEs3(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), app(app(app(ty_@3, bdf), bdg), bdh), bdb) → new_lt2(ywz5000, ywz4000, bdf, bdg, bdh)
new_compare23(Just(Just(ywz5000)), Just(Just(ywz4000)), False, app(ty_Maybe, app(app(ty_Either, fb), fc))) → new_ltEs(ywz5000, ywz4000, fb, fc)
new_compare23(Just(@3(ywz5000, ywz5001, ywz5002)), Just(@3(ywz4000, ywz4001, ywz4002)), False, app(app(app(ty_@3, app(ty_[], bah)), gd), hg)) → new_compare(ywz5000, ywz4000, bah)
new_compare23(Just(@3(ywz5000, ywz5001, ywz5002)), Just(@3(ywz4000, ywz4001, ywz4002)), False, app(app(app(ty_@3, gc), gd), app(ty_[], ge))) → new_ltEs0(ywz5002, ywz4002, ge)
new_compare(:(ywz5000, ywz5001), :(ywz4000, ywz4001), h) → new_compare(ywz5001, ywz4001, h)
new_compare(:(ywz5000, ywz5001), :(ywz4000, ywz4001), h) → new_primCompAux(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, h), h)
new_compare23(Just(@3(ywz5000, ywz5001, ywz5002)), Just(@3(ywz4000, ywz4001, ywz4002)), False, app(app(app(ty_@3, app(app(app(ty_@3, bbb), bbc), bbd)), gd), hg)) → new_compare21(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bbb, bbc, bbd), bbb, bbc, bbd)
new_primCompAux(ywz5000, ywz4000, ywz228, app(app(ty_@2, bh), ca)) → new_compare4(ywz5000, ywz4000, bh, ca)
new_ltEs(Right(ywz5000), Right(ywz4000), dg, app(app(app(ty_@3, ed), ee), ef)) → new_ltEs2(ywz5000, ywz4000, ed, ee, ef)
new_ltEs3(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bbg, app(ty_Maybe, bcc)) → new_ltEs1(ywz5001, ywz4001, bcc)
new_compare23(Just(Just(ywz5000)), Just(Just(ywz4000)), False, app(ty_Maybe, app(ty_[], fa))) → new_ltEs0(ywz5000, ywz4000, fa)
new_compare3(ywz5000, ywz4000, bbb, bbc, bbd) → new_compare21(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bbb, bbc, bbd), bbb, bbc, bbd)
new_ltEs1(Just(ywz5000), Just(ywz4000), app(app(ty_@2, ga), gb)) → new_ltEs3(ywz5000, ywz4000, ga, gb)
new_compare23(Just(@3(ywz5000, ywz5001, ywz5002)), Just(@3(ywz4000, ywz4001, ywz4002)), False, app(app(app(ty_@3, gc), app(app(ty_@2, baf), bag)), hg)) → new_lt3(ywz5001, ywz4001, baf, bag)
new_ltEs3(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bbg, app(ty_[], bbh)) → new_ltEs0(ywz5001, ywz4001, bbh)
new_compare23(Just(@2(ywz5000, ywz5001)), Just(@2(ywz4000, ywz4001)), False, app(app(ty_@2, app(app(app(ty_@3, bdf), bdg), bdh)), bdb)) → new_lt2(ywz5000, ywz4000, bdf, bdg, bdh)
new_lt2(ywz5000, ywz4000, bbb, bbc, bbd) → new_compare21(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bbb, bbc, bbd), bbb, bbc, bbd)

The TRS R consists of the following rules:

new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(ty_@2, de), df), ce) → new_ltEs16(ywz5000, ywz4000, de, df)
new_esEs26(ywz5000, ywz4000, app(ty_[], bda)) → new_esEs8(ywz5000, ywz4000, bda)
new_esEs23(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs22(ywz5002, ywz4002, ty_Double) → new_esEs17(ywz5002, ywz4002)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_Maybe, fd)) → new_esEs7(ywz5000, ywz4000, fd)
new_ltEs7(ywz500, ywz400, app(ty_Ratio, beg)) → new_ltEs11(ywz500, ywz400, beg)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_esEs7(ywz5000, ywz4000, bba)
new_compare112(ywz95, ywz96, True, bfe) → LT
new_ltEs19(ywz5002, ywz4002, app(ty_[], ge)) → new_ltEs8(ywz5002, ywz4002, ge)
new_compare6(ywz5000, ywz4000, ty_Double) → new_compare25(ywz5000, ywz4000)
new_esEs16(EQ, GT) → False
new_esEs16(GT, EQ) → False
new_ltEs19(ywz5002, ywz4002, app(ty_Ratio, bfd)) → new_ltEs11(ywz5002, ywz4002, bfd)
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, baf), bag)) → new_esEs6(ywz5001, ywz4001, baf, bag)
new_ltEs20(ywz5001, ywz4001, ty_Int) → new_ltEs9(ywz5001, ywz4001)
new_ltEs15(True, False) → False
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs17(LT, LT) → True
new_esEs25(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(app(app(ty_@3, bac), bad), bae)) → new_esEs5(ywz5001, ywz4001, bac, bad, bae)
new_compare6(ywz5000, ywz4000, app(app(ty_@2, bh), ca)) → new_compare18(ywz5000, ywz4000, bh, ca)
new_ltEs5(Right(ywz5000), Right(ywz4000), dg, ty_Int) → new_ltEs9(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_[], ba)) → new_compare0(ywz5000, ywz4000, ba)
new_ltEs7(ywz500, ywz400, app(ty_[], h)) → new_ltEs8(ywz500, ywz400, h)
new_lt20(ywz5000, ywz4000, ty_Int) → new_lt10(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, ty_Integer) → new_compare15(ywz5000, ywz4000)
new_primCmpNat1(Zero, Succ(ywz400000)) → LT
new_lt14(ywz5000, ywz4000, app(app(ty_@2, bbe), bbf)) → new_lt4(ywz5000, ywz4000, bbe, bbf)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_lt19(ywz5000, ywz4000) → new_esEs16(new_compare25(ywz5000, ywz4000), LT)
new_esEs26(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_[], fa)) → new_esEs8(ywz5000, ywz4000, fa)
new_compare27(Just(ywz500), Just(ywz400), False, bec) → new_compare112(ywz500, ywz400, new_ltEs7(ywz500, ywz400, bec), bec)
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, bde)) → new_esEs7(ywz5000, ywz4000, bde)
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, app(app(ty_Either, cb), cc)) → new_lt12(ywz5000, ywz4000, cb, cc)
new_esEs22(ywz5002, ywz4002, ty_Char) → new_esEs12(ywz5002, ywz4002)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Double) → new_ltEs18(ywz5000, ywz4000)
new_ltEs10(ywz500, ywz400) → new_not(new_esEs16(new_compare8(ywz500, ywz400), GT))
new_ltEs12(Nothing, Nothing, bed) → True
new_primMulNat0(Zero, Zero) → Zero
new_esEs24(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs8(:(ywz5000, ywz5001), :(ywz4000, ywz4001), h) → new_asAs(new_esEs25(ywz5000, ywz4000, h), new_esEs8(ywz5001, ywz4001, h))
new_lt13(ywz5001, ywz4001, ty_@0) → new_lt7(ywz5001, ywz4001)
new_lt20(ywz5000, ywz4000, ty_@0) → new_lt7(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Int, ce) → new_ltEs9(ywz5000, ywz4000)
new_compare29(ywz5000, ywz4000, True) → EQ
new_esEs4(Right(ywz5000), Right(ywz4000), dg, app(ty_[], dh)) → new_esEs8(ywz5000, ywz4000, dh)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs5(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), gc, gd, hg) → new_asAs(new_esEs20(ywz5000, ywz4000, gc), new_asAs(new_esEs21(ywz5001, ywz4001, gd), new_esEs22(ywz5002, ywz4002, hg)))
new_esEs4(Right(ywz5000), Right(ywz4000), dg, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), dg, app(ty_[], dh)) → new_ltEs8(ywz5000, ywz4000, dh)
new_lt20(ywz5000, ywz4000, ty_Float) → new_lt6(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_Char) → new_ltEs6(ywz500, ywz400)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Integer) → new_ltEs13(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), dg, ty_Float) → new_ltEs10(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(ty_Either, bdc), bdd)) → new_lt12(ywz5000, ywz4000, bdc, bdd)
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_compare16(@0, @0) → EQ
new_compare29(ywz5000, ywz4000, False) → new_compare11(ywz5000, ywz4000, new_ltEs17(ywz5000, ywz4000))
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bee)) → new_esEs11(ywz5000, ywz4000, bee)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, cb), cc)) → new_esEs4(ywz5000, ywz4000, cb, cc)
new_esEs19(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(ty_@2, de), df), ce) → new_esEs6(ywz5000, ywz4000, de, df)
new_compare9(ywz5000, ywz4000, cb, cc) → new_compare26(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, cb, cc), cb, cc)
new_ltEs5(Left(ywz5000), Right(ywz4000), dg, ce) → True
new_lt14(ywz5000, ywz4000, ty_Int) → new_lt10(ywz5000, ywz4000)
new_compare0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), h) → new_primCompAux0(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, h), h)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(ty_@2, ga), gb)) → new_esEs6(ywz5000, ywz4000, ga, gb)
new_ltEs7(ywz500, ywz400, ty_Double) → new_ltEs18(ywz500, ywz400)
new_primCmpNat1(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat1(ywz500000, ywz400000)
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), dg, app(app(ty_Either, ea), eb)) → new_ltEs5(ywz5000, ywz4000, ea, eb)
new_lt14(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_lt5(ywz5000, ywz4000, bba)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Float, ce) → new_ltEs10(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, app(ty_Maybe, gh)) → new_ltEs12(ywz5002, ywz4002, gh)
new_ltEs13(ywz500, ywz400) → new_not(new_esEs16(new_compare15(ywz500, ywz400), GT))
new_compare6(ywz5000, ywz4000, ty_@0) → new_compare16(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, bbe), bbf)) → new_esEs6(ywz5000, ywz4000, bbe, bbf)
new_esEs28(ywz5001, ywz4001, app(app(app(ty_@3, bcd), bce), bcf)) → new_esEs5(ywz5001, ywz4001, bcd, bce, bcf)
new_esEs22(ywz5002, ywz4002, app(ty_[], ge)) → new_esEs8(ywz5002, ywz4002, ge)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_ltEs9(ywz500, ywz400) → new_not(new_esEs16(new_compare7(ywz500, ywz400), GT))
new_ltEs5(Right(ywz5000), Left(ywz4000), dg, ce) → False
new_ltEs19(ywz5002, ywz4002, ty_Char) → new_ltEs6(ywz5002, ywz4002)
new_ltEs17(EQ, LT) → False
new_pePe(False, ywz175) → ywz175
new_esEs27(ywz5000, ywz4000, app(ty_[], bda)) → new_esEs8(ywz5000, ywz4000, bda)
new_esEs25(ywz5000, ywz4000, app(app(ty_Either, bb), bc)) → new_esEs4(ywz5000, ywz4000, bb, bc)
new_esEs15(True, False) → False
new_esEs15(False, True) → False
new_ltEs15(True, True) → True
new_ltEs19(ywz5002, ywz4002, ty_Float) → new_ltEs10(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, app(app(ty_Either, gf), gg)) → new_esEs4(ywz5002, ywz4002, gf, gg)
new_compare6(ywz5000, ywz4000, ty_Bool) → new_compare17(ywz5000, ywz4000)
new_ltEs15(False, True) → True
new_esEs26(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(ty_Maybe, bab)) → new_esEs7(ywz5001, ywz4001, bab)
new_lt13(ywz5001, ywz4001, ty_Integer) → new_lt8(ywz5001, ywz4001)
new_esEs23(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_esEs7(ywz5000, ywz4000, bba)
new_esEs10(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs9(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Integer, ce) → new_ltEs13(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bee)) → new_ltEs11(ywz5000, ywz4000, bee)
new_ltEs15(False, False) → True
new_esEs26(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_lt17(ywz5000, ywz4000) → new_esEs16(new_compare17(ywz5000, ywz4000), LT)
new_compare27(Nothing, Just(ywz400), False, bec) → LT
new_esEs20(ywz5000, ywz4000, app(ty_[], bah)) → new_esEs8(ywz5000, ywz4000, bah)
new_esEs25(ywz5000, ywz4000, app(app(ty_@2, bh), ca)) → new_esEs6(ywz5000, ywz4000, bh, ca)
new_compare14(Char(ywz5000), Char(ywz4000)) → new_primCmpNat1(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Char, ce) → new_ltEs6(ywz5000, ywz4000)
new_compare18(ywz5000, ywz4000, bbe, bbf) → new_compare28(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, bbe, bbf), bbe, bbf)
new_esEs25(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Char, ce) → new_esEs12(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, app(app(app(ty_@3, ha), hb), hc)) → new_ltEs4(ywz5002, ywz4002, ha, hb, hc)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(ty_@2, ga), gb)) → new_ltEs16(ywz5000, ywz4000, ga, gb)
new_lt14(ywz5000, ywz4000, ty_Char) → new_lt15(ywz5000, ywz4000)
new_lt5(ywz50, ywz40, bec) → new_esEs16(new_compare13(ywz50, ywz40, bec), LT)
new_esEs28(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, app(app(ty_@2, baf), bag)) → new_esEs6(ywz5001, ywz4001, baf, bag)
new_compare0([], [], h) → EQ
new_pePe(True, ywz175) → True
new_primEqNat0(Zero, Zero) → True
new_esEs19(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs14(@0, @0) → True
new_compare111(ywz5000, ywz4000, False, cb, cc) → GT
new_esEs28(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_compare17(ywz5000, ywz4000) → new_compare210(ywz5000, ywz4000, new_esEs15(ywz5000, ywz4000))
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_[], fa)) → new_ltEs8(ywz5000, ywz4000, fa)
new_ltEs5(Right(ywz5000), Right(ywz4000), dg, ty_@0) → new_ltEs14(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_@0, ce) → new_ltEs14(ywz5000, ywz4000)
new_esEs16(LT, GT) → False
new_esEs16(GT, LT) → False
new_lt20(ywz5000, ywz4000, app(ty_[], bda)) → new_lt9(ywz5000, ywz4000, bda)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_ltEs17(GT, LT) → False
new_sr(ywz5001, ywz4001) → new_primMulInt(ywz5001, ywz4001)
new_compare7(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_primCmpNat1(Zero, Zero) → EQ
new_ltEs7(ywz500, ywz400, ty_Integer) → new_ltEs13(ywz500, ywz400)
new_esEs24(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Int, ce) → new_esEs9(ywz5000, ywz4000)
new_ltEs20(ywz5001, ywz4001, app(ty_Ratio, bfg)) → new_ltEs11(ywz5001, ywz4001, bfg)
new_primPlusNat0(Succ(ywz1950), ywz400100) → Succ(Succ(new_primPlusNat1(ywz1950, ywz400100)))
new_ltEs11(ywz500, ywz400, beg) → new_not(new_esEs16(new_compare12(ywz500, ywz400, beg), GT))
new_ltEs19(ywz5002, ywz4002, ty_Bool) → new_ltEs15(ywz5002, ywz4002)
new_lt14(ywz5000, ywz4000, app(ty_Ratio, bfb)) → new_lt11(ywz5000, ywz4000, bfb)
new_esEs28(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_esEs4(Right(ywz5000), Right(ywz4000), dg, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs13(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_primCmpNat1(Succ(ywz500000), Zero) → GT
new_esEs4(Right(ywz5000), Right(ywz4000), dg, app(app(ty_Either, ea), eb)) → new_esEs4(ywz5000, ywz4000, ea, eb)
new_compare24(ywz5000, ywz4000, True, bbb, bbc, bbd) → EQ
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Ordering, ce) → new_ltEs17(ywz5000, ywz4000)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_ltEs20(ywz5001, ywz4001, app(app(app(ty_@3, bcd), bce), bcf)) → new_ltEs4(ywz5001, ywz4001, bcd, bce, bcf)
new_esEs24(ywz5001, ywz4001, app(ty_Ratio, bfc)) → new_esEs11(ywz5001, ywz4001, bfc)
new_lt20(ywz5000, ywz4000, app(ty_Ratio, bff)) → new_lt11(ywz5000, ywz4000, bff)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs15(True, True) → True
new_compare113(ywz5000, ywz4000, True, bbe, bbf) → LT
new_esEs4(Right(ywz5000), Right(ywz4000), dg, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cf), cg), ce) → new_esEs4(ywz5000, ywz4000, cf, cg)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, db), dc), dd), ce) → new_esEs5(ywz5000, ywz4000, db, dc, dd)
new_primCompAux0(ywz5000, ywz4000, ywz228, h) → new_primCompAux00(ywz228, new_compare6(ywz5000, ywz4000, h))
new_ltEs17(LT, GT) → True
new_primPlusNat1(Succ(ywz19500), Zero) → Succ(ywz19500)
new_primPlusNat1(Zero, Succ(ywz4001000)) → Succ(ywz4001000)
new_ltEs5(Right(ywz5000), Right(ywz4000), dg, ty_Ordering) → new_ltEs17(ywz5000, ywz4000)
new_compare27(Just(ywz500), Nothing, False, bec) → GT
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Float) → new_ltEs10(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_@0) → new_ltEs14(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_Ratio, bef)) → new_compare12(ywz5000, ywz4000, bef)
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, app(ty_[], bbh)) → new_esEs8(ywz5001, ywz4001, bbh)
new_lt13(ywz5001, ywz4001, ty_Float) → new_lt6(ywz5001, ywz4001)
new_compare27(Nothing, Nothing, False, bec) → LT
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_lt18(ywz5000, ywz4000) → new_esEs16(new_compare19(ywz5000, ywz4000), LT)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_Ratio, beh), ce) → new_esEs11(ywz5000, ywz4000, beh)
new_compare6(ywz5000, ywz4000, ty_Char) → new_compare14(ywz5000, ywz4000)
new_primCmpNat0(Succ(ywz40000), ywz50000) → new_primCmpNat1(ywz40000, ywz50000)
new_esEs8([], [], h) → True
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_lt20(ywz5000, ywz4000, ty_Integer) → new_lt8(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, ty_Ordering) → new_lt18(ywz5000, ywz4000)
new_compare26(ywz5000, ywz4000, True, cb, cc) → EQ
new_ltEs5(Right(ywz5000), Right(ywz4000), dg, ty_Char) → new_ltEs6(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, hh), baa)) → new_esEs4(ywz5001, ywz4001, hh, baa)
new_esEs22(ywz5002, ywz4002, app(app(app(ty_@3, ha), hb), hc)) → new_esEs5(ywz5002, ywz4002, ha, hb, hc)
new_esEs4(Right(ywz5000), Right(ywz4000), dg, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(ty_Maybe, bde)) → new_lt5(ywz5000, ywz4000, bde)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_ltEs17(EQ, EQ) → True
new_ltEs20(ywz5001, ywz4001, app(ty_[], bbh)) → new_ltEs8(ywz5001, ywz4001, bbh)
new_ltEs19(ywz5002, ywz4002, ty_Ordering) → new_ltEs17(ywz5002, ywz4002)
new_compare12(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare7(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_lt13(ywz5001, ywz4001, ty_Char) → new_lt15(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_Maybe, da), ce) → new_ltEs12(ywz5000, ywz4000, da)
new_esEs23(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_@0) → new_ltEs14(ywz500, ywz400)
new_ltEs8(ywz500, ywz400, h) → new_not(new_esEs16(new_compare0(ywz500, ywz400, h), GT))
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cf), cg), ce) → new_ltEs5(ywz5000, ywz4000, cf, cg)
new_compare19(ywz5000, ywz4000) → new_compare29(ywz5000, ywz4000, new_esEs16(ywz5000, ywz4000))
new_lt15(ywz5000, ywz4000) → new_esEs16(new_compare14(ywz5000, ywz4000), LT)
new_esEs25(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(ty_[], ba)) → new_esEs8(ywz5000, ywz4000, ba)
new_lt9(ywz5000, ywz4000, bah) → new_esEs16(new_compare0(ywz5000, ywz4000, bah), LT)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_Ratio, beh), ce) → new_ltEs11(ywz5000, ywz4000, beh)
new_lt14(ywz5000, ywz4000, ty_Double) → new_lt19(ywz5000, ywz4000)
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_lt14(ywz5000, ywz4000, app(app(app(ty_@3, bbb), bbc), bbd)) → new_lt16(ywz5000, ywz4000, bbb, bbc, bbd)
new_esEs23(ywz5000, ywz4000, app(ty_[], bah)) → new_esEs8(ywz5000, ywz4000, bah)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Ordering, ce) → new_esEs16(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, app(app(ty_@2, bbg), bdb)) → new_ltEs16(ywz500, ywz400, bbg, bdb)
new_ltEs7(ywz500, ywz400, ty_Float) → new_ltEs10(ywz500, ywz400)
new_compare113(ywz5000, ywz4000, False, bbe, bbf) → GT
new_lt14(ywz5000, ywz4000, ty_Float) → new_lt6(ywz5000, ywz4000)
new_ltEs4(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), gc, gd, hg) → new_pePe(new_lt14(ywz5000, ywz4000, gc), new_asAs(new_esEs23(ywz5000, ywz4000, gc), new_pePe(new_lt13(ywz5001, ywz4001, gd), new_asAs(new_esEs24(ywz5001, ywz4001, gd), new_ltEs19(ywz5002, ywz4002, hg)))))
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_ltEs17(ywz5000, ywz4000)
new_primCompAux00(ywz280, LT) → LT
new_esEs23(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, bdf), bdg), bdh)) → new_esEs5(ywz5000, ywz4000, bdf, bdg, bdh)
new_esEs7(Nothing, Nothing, bed) → True
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_esEs22(ywz5002, ywz4002, ty_Integer) → new_esEs13(ywz5002, ywz4002)
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, app(ty_Maybe, bcc)) → new_ltEs12(ywz5001, ywz4001, bcc)
new_ltEs20(ywz5001, ywz4001, ty_Integer) → new_ltEs13(ywz5001, ywz4001)
new_compare5(ywz5000, ywz4000, bbb, bbc, bbd) → new_compare24(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bbb, bbc, bbd), bbb, bbc, bbd)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Double, ce) → new_esEs17(ywz5000, ywz4000)
new_compare8(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare7(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs17(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs9(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs4(Right(ywz5000), Right(ywz4000), dg, app(app(app(ty_@3, ed), ee), ef)) → new_esEs5(ywz5000, ywz4000, ed, ee, ef)
new_lt20(ywz5000, ywz4000, app(app(ty_@2, bea), beb)) → new_lt4(ywz5000, ywz4000, bea, beb)
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_lt12(ywz5000, ywz4000, cb, cc) → new_esEs16(new_compare9(ywz5000, ywz4000, cb, cc), LT)
new_ltEs20(ywz5001, ywz4001, ty_@0) → new_ltEs14(ywz5001, ywz4001)
new_ltEs5(Right(ywz5000), Right(ywz4000), dg, app(app(app(ty_@3, ed), ee), ef)) → new_ltEs4(ywz5000, ywz4000, ed, ee, ef)
new_sr0(Integer(ywz40000), Integer(ywz50010)) → Integer(new_primMulInt(ywz40000, ywz50010))
new_primPlusNat1(Succ(ywz19500), Succ(ywz4001000)) → Succ(Succ(new_primPlusNat1(ywz19500, ywz4001000)))
new_lt13(ywz5001, ywz4001, app(ty_Maybe, bab)) → new_lt5(ywz5001, ywz4001, bab)
new_compare28(ywz5000, ywz4000, True, bbe, bbf) → EQ
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_Maybe, fd)) → new_ltEs12(ywz5000, ywz4000, fd)
new_esEs7(Just(ywz5000), Nothing, bed) → False
new_esEs7(Nothing, Just(ywz4000), bed) → False
new_esEs25(ywz5000, ywz4000, app(ty_Ratio, bef)) → new_esEs11(ywz5000, ywz4000, bef)
new_compare6(ywz5000, ywz4000, app(app(ty_Either, bb), bc)) → new_compare9(ywz5000, ywz4000, bb, bc)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, ff), fg), fh)) → new_ltEs4(ywz5000, ywz4000, ff, fg, fh)
new_ltEs20(ywz5001, ywz4001, ty_Double) → new_ltEs18(ywz5001, ywz4001)
new_esEs25(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs22(ywz5002, ywz4002, app(app(ty_@2, hd), he)) → new_esEs6(ywz5002, ywz4002, hd, he)
new_esEs26(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, bff)) → new_esEs11(ywz5000, ywz4000, bff)
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primCompAux00(ywz280, EQ) → ywz280
new_esEs23(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_lt11(ywz5000, ywz4000, bfb) → new_esEs16(new_compare12(ywz5000, ywz4000, bfb), LT)
new_esEs25(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_primCmpNat0(Zero, ywz50000) → LT
new_esEs4(Right(ywz5000), Right(ywz4000), dg, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, ty_Double) → new_ltEs18(ywz5002, ywz4002)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, app(ty_[], hf)) → new_lt9(ywz5001, ywz4001, hf)
new_esEs4(Right(ywz5000), Right(ywz4000), dg, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), dg, ty_Bool) → new_ltEs15(ywz5000, ywz4000)
new_ltEs14(ywz500, ywz400) → new_not(new_esEs16(new_compare16(ywz500, ywz400), GT))
new_compare6(ywz5000, ywz4000, ty_Float) → new_compare8(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), dg, app(ty_Ratio, bfa)) → new_ltEs11(ywz5000, ywz4000, bfa)
new_ltEs6(ywz500, ywz400) → new_not(new_esEs16(new_compare14(ywz500, ywz400), GT))
new_esEs12(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, app(app(ty_Either, hh), baa)) → new_lt12(ywz5001, ywz4001, hh, baa)
new_not(False) → True
new_esEs23(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs18(ywz500, ywz400) → new_not(new_esEs16(new_compare25(ywz500, ywz400), GT))
new_primPlusNat0(Zero, ywz400100) → Succ(ywz400100)
new_esEs23(ywz5000, ywz4000, app(app(ty_@2, bbe), bbf)) → new_esEs6(ywz5000, ywz4000, bbe, bbf)
new_compare210(ywz5000, ywz4000, False) → new_compare10(ywz5000, ywz4000, new_ltEs15(ywz5000, ywz4000))
new_esEs11(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), beg) → new_asAs(new_esEs18(ywz5000, ywz4000, beg), new_esEs19(ywz5001, ywz4001, beg))
new_esEs16(LT, EQ) → False
new_esEs16(EQ, LT) → False
new_esEs25(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(ty_[], hf)) → new_esEs8(ywz5001, ywz4001, hf)
new_compare25(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare7(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), dg, ty_Double) → new_ltEs18(ywz5000, ywz4000)
new_compare0(:(ywz5000, ywz5001), [], h) → GT
new_ltEs16(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bbg, bdb) → new_pePe(new_lt20(ywz5000, ywz4000, bbg), new_asAs(new_esEs26(ywz5000, ywz4000, bbg), new_ltEs20(ywz5001, ywz4001, bdb)))
new_esEs23(ywz5000, ywz4000, app(ty_Ratio, bfb)) → new_esEs11(ywz5000, ywz4000, bfb)
new_lt20(ywz5000, ywz4000, ty_Ordering) → new_lt18(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_Bool) → new_ltEs15(ywz500, ywz400)
new_esEs4(Right(ywz5000), Right(ywz4000), dg, app(app(ty_@2, eg), eh)) → new_esEs6(ywz5000, ywz4000, eg, eh)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_[], cd), ce) → new_esEs8(ywz5000, ywz4000, cd)
new_lt13(ywz5001, ywz4001, ty_Ordering) → new_lt18(ywz5001, ywz4001)
new_esEs4(Right(ywz5000), Right(ywz4000), dg, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, bfb)) → new_esEs11(ywz5000, ywz4000, bfb)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, bbb), bbc), bbd)) → new_esEs5(ywz5000, ywz4000, bbb, bbc, bbd)
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_ltEs19(ywz5002, ywz4002, ty_Int) → new_ltEs9(ywz5002, ywz4002)
new_esEs28(ywz5001, ywz4001, app(ty_Maybe, bcc)) → new_esEs7(ywz5001, ywz4001, bcc)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat0(Zero, ywz40000)
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bac), bad), bae)) → new_esEs5(ywz5001, ywz4001, bac, bad, bae)
new_ltEs7(ywz500, ywz400, app(app(ty_Either, dg), ce)) → new_ltEs5(ywz500, ywz400, dg, ce)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bab)) → new_esEs7(ywz5001, ywz4001, bab)
new_primMulInt(Pos(ywz50010), Pos(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Bool, ce) → new_esEs15(ywz5000, ywz4000)
new_esEs18(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, app(app(ty_Either, cb), cc)) → new_esEs4(ywz5000, ywz4000, cb, cc)
new_lt7(ywz5000, ywz4000) → new_esEs16(new_compare16(ywz5000, ywz4000), LT)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_Maybe, da), ce) → new_esEs7(ywz5000, ywz4000, da)
new_compare13(ywz50, ywz40, bec) → new_compare27(ywz50, ywz40, new_esEs7(ywz50, ywz40, bec), bec)
new_primMulInt(Neg(ywz50010), Neg(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, bea), beb)) → new_esEs6(ywz5000, ywz4000, bea, beb)
new_esEs16(EQ, EQ) → True
new_esEs24(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_esEs26(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, app(app(ty_Either, gf), gg)) → new_ltEs5(ywz5002, ywz4002, gf, gg)
new_primEqNat0(Succ(ywz50000), Zero) → False
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, app(ty_Ratio, bfc)) → new_lt11(ywz5001, ywz4001, bfc)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs7(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(app(ty_Either, hh), baa)) → new_esEs4(ywz5001, ywz4001, hh, baa)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, bdc), bdd)) → new_esEs4(ywz5000, ywz4000, bdc, bdd)
new_compare210(ywz5000, ywz4000, True) → EQ
new_esEs22(ywz5002, ywz4002, ty_Int) → new_esEs9(ywz5002, ywz4002)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Float, ce) → new_esEs10(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Bool, ce) → new_ltEs15(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat2(ywz40000, Zero)
new_lt14(ywz5000, ywz4000, ty_Integer) → new_lt8(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, app(ty_[], bah)) → new_lt9(ywz5000, ywz4000, bah)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Char) → new_ltEs6(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, ty_Double) → new_lt19(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_compare12(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare15(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_[], cd), ce) → new_ltEs8(ywz5000, ywz4000, cd)
new_compare6(ywz5000, ywz4000, app(app(app(ty_@3, be), bf), bg)) → new_compare5(ywz5000, ywz4000, be, bf, bg)
new_compare6(ywz5000, ywz4000, ty_Ordering) → new_compare19(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, app(app(ty_@2, baf), bag)) → new_lt4(ywz5001, ywz4001, baf, bag)
new_esEs26(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs28(ywz5001, ywz4001, app(app(ty_@2, bcg), bch)) → new_esEs6(ywz5001, ywz4001, bcg, bch)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(ty_Either, fb), fc)) → new_ltEs5(ywz5000, ywz4000, fb, fc)
new_lt14(ywz5000, ywz4000, ty_Bool) → new_lt17(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(ty_Maybe, bd)) → new_esEs7(ywz5000, ywz4000, bd)
new_lt10(ywz5000, ywz4000) → new_esEs16(new_compare7(ywz5000, ywz4000), LT)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, ff), fg), fh)) → new_esEs5(ywz5000, ywz4000, ff, fg, fh)
new_ltEs20(ywz5001, ywz4001, ty_Ordering) → new_ltEs17(ywz5001, ywz4001)
new_esEs25(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Integer, ce) → new_esEs13(ywz5000, ywz4000)
new_primCmpNat2(ywz50000, Succ(ywz40000)) → new_primCmpNat1(ywz50000, ywz40000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Double, ce) → new_ltEs18(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_ltEs7(ywz500, ywz400, ty_Int) → new_ltEs9(ywz500, ywz400)
new_lt13(ywz5001, ywz4001, ty_Int) → new_lt10(ywz5001, ywz4001)
new_esEs16(LT, LT) → True
new_asAs(False, ywz102) → False
new_lt20(ywz5000, ywz4000, ty_Double) → new_lt19(ywz5000, ywz4000)
new_primMulInt(Neg(ywz50010), Pos(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Pos(ywz50010), Neg(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulNat0(Zero, Succ(ywz400100)) → Zero
new_primMulNat0(Succ(ywz500100), Zero) → Zero
new_ltEs20(ywz5001, ywz4001, ty_Bool) → new_ltEs15(ywz5001, ywz4001)
new_esEs26(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs22(ywz5002, ywz4002, ty_Ordering) → new_esEs16(ywz5002, ywz4002)
new_esEs16(GT, GT) → True
new_primCmpNat2(ywz50000, Zero) → GT
new_esEs24(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_esEs23(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, app(ty_Maybe, bde)) → new_esEs7(ywz5000, ywz4000, bde)
new_lt8(ywz5000, ywz4000) → new_esEs16(new_compare15(ywz5000, ywz4000), LT)
new_compare110(ywz5000, ywz4000, True, bbb, bbc, bbd) → LT
new_esEs25(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs28(ywz5001, ywz4001, app(app(ty_Either, bca), bcb)) → new_esEs4(ywz5001, ywz4001, bca, bcb)
new_esEs23(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), dg, app(ty_Maybe, ec)) → new_esEs7(ywz5000, ywz4000, ec)
new_esEs21(ywz5001, ywz4001, app(ty_[], hf)) → new_esEs8(ywz5001, ywz4001, hf)
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_compare26(ywz5000, ywz4000, False, cb, cc) → new_compare111(ywz5000, ywz4000, new_ltEs5(ywz5000, ywz4000, cb, cc), cb, cc)
new_esEs28(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_ltEs12(Nothing, Just(ywz4000), bed) → True
new_ltEs17(GT, GT) → True
new_ltEs19(ywz5002, ywz4002, ty_@0) → new_ltEs14(ywz5002, ywz4002)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(ty_Either, fb), fc)) → new_esEs4(ywz5000, ywz4000, fb, fc)
new_esEs24(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_ltEs17(GT, EQ) → False
new_esEs4(Right(ywz5000), Right(ywz4000), dg, app(ty_Ratio, bfa)) → new_esEs11(ywz5000, ywz4000, bfa)
new_esEs22(ywz5002, ywz4002, ty_Bool) → new_esEs15(ywz5002, ywz4002)
new_lt13(ywz5001, ywz4001, app(app(app(ty_@3, bac), bad), bae)) → new_lt16(ywz5001, ywz4001, bac, bad, bae)
new_esEs28(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_lt20(ywz5000, ywz4000, app(app(app(ty_@3, bdf), bdg), bdh)) → new_lt16(ywz5000, ywz4000, bdf, bdg, bdh)
new_esEs18(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Float) → new_ltEs10(ywz5001, ywz4001)
new_lt16(ywz5000, ywz4000, bbb, bbc, bbd) → new_esEs16(new_compare5(ywz5000, ywz4000, bbb, bbc, bbd), LT)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs10(ywz5000, ywz4000)
new_compare11(ywz5000, ywz4000, False) → GT
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Bool) → new_ltEs15(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_Ordering) → new_ltEs17(ywz500, ywz400)
new_compare11(ywz5000, ywz4000, True) → LT
new_esEs22(ywz5002, ywz4002, ty_@0) → new_esEs14(ywz5002, ywz4002)
new_esEs25(ywz5000, ywz4000, app(app(app(ty_@3, be), bf), bg)) → new_esEs5(ywz5000, ywz4000, be, bf, bg)
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat0(ywz4000, ywz50000)
new_compare28(ywz5000, ywz4000, False, bbe, bbf) → new_compare113(ywz5000, ywz4000, new_ltEs16(ywz5000, ywz4000, bbe, bbf), bbe, bbf)
new_ltEs5(Right(ywz5000), Right(ywz4000), dg, app(app(ty_@2, eg), eh)) → new_ltEs16(ywz5000, ywz4000, eg, eh)
new_lt13(ywz5001, ywz4001, ty_Bool) → new_lt17(ywz5001, ywz4001)
new_lt6(ywz5000, ywz4000) → new_esEs16(new_compare8(ywz5000, ywz4000), LT)
new_esEs28(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_compare112(ywz95, ywz96, False, bfe) → GT
new_compare27(ywz50, ywz40, True, bec) → EQ
new_esEs22(ywz5002, ywz4002, ty_Float) → new_esEs10(ywz5002, ywz4002)
new_lt14(ywz5000, ywz4000, ty_@0) → new_lt7(ywz5000, ywz4000)
new_esEs28(ywz5001, ywz4001, app(ty_Ratio, bfg)) → new_esEs11(ywz5001, ywz4001, bfg)
new_esEs26(ywz5000, ywz4000, app(ty_Ratio, bff)) → new_esEs11(ywz5000, ywz4000, bff)
new_esEs28(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Char) → new_ltEs6(ywz5001, ywz4001)
new_esEs4(Right(ywz5000), Right(ywz4000), dg, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_compare15(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, ty_Int) → new_compare7(ywz5000, ywz4000)
new_compare111(ywz5000, ywz4000, True, cb, cc) → LT
new_ltEs5(Right(ywz5000), Right(ywz4000), dg, app(ty_Maybe, ec)) → new_ltEs12(ywz5000, ywz4000, ec)
new_compare0([], :(ywz4000, ywz4001), h) → LT
new_primPlusNat1(Zero, Zero) → Zero
new_ltEs19(ywz5002, ywz4002, app(app(ty_@2, hd), he)) → new_ltEs16(ywz5002, ywz4002, hd, he)
new_esEs26(ywz5000, ywz4000, app(app(ty_Either, bdc), bdd)) → new_esEs4(ywz5000, ywz4000, bdc, bdd)
new_asAs(True, ywz102) → ywz102
new_primMulNat0(Succ(ywz500100), Succ(ywz400100)) → new_primPlusNat0(new_primMulNat0(ywz500100, Succ(ywz400100)), ywz400100)
new_esEs26(ywz5000, ywz4000, app(app(app(ty_@3, bdf), bdg), bdh)) → new_esEs5(ywz5000, ywz4000, bdf, bdg, bdh)
new_ltEs17(LT, EQ) → True
new_esEs4(Left(ywz5000), Right(ywz4000), dg, ce) → False
new_esEs4(Right(ywz5000), Left(ywz4000), dg, ce) → False
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Int) → new_ltEs9(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Nothing, bed) → False
new_lt20(ywz5000, ywz4000, ty_Bool) → new_lt17(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Char) → new_lt15(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_Maybe, bd)) → new_compare13(ywz5000, ywz4000, bd)
new_compare24(ywz5000, ywz4000, False, bbb, bbc, bbd) → new_compare110(ywz5000, ywz4000, new_ltEs4(ywz5000, ywz4000, bbb, bbc, bbd), bbb, bbc, bbd)
new_ltEs19(ywz5002, ywz4002, ty_Integer) → new_ltEs13(ywz5002, ywz4002)
new_esEs26(ywz5000, ywz4000, app(app(ty_@2, bea), beb)) → new_esEs6(ywz5000, ywz4000, bea, beb)
new_esEs23(ywz5000, ywz4000, app(app(app(ty_@3, bbb), bbc), bbd)) → new_esEs5(ywz5000, ywz4000, bbb, bbc, bbd)
new_lt4(ywz5000, ywz4000, bbe, bbf) → new_esEs16(new_compare18(ywz5000, ywz4000, bbe, bbf), LT)
new_ltEs7(ywz500, ywz400, app(app(app(ty_@3, gc), gd), hg)) → new_ltEs4(ywz500, ywz400, gc, gd, hg)
new_compare10(ywz5000, ywz4000, True) → LT
new_esEs9(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_ltEs17(EQ, GT) → True
new_compare110(ywz5000, ywz4000, False, bbb, bbc, bbd) → GT
new_compare10(ywz5000, ywz4000, False) → GT
new_ltEs20(ywz5001, ywz4001, app(app(ty_@2, bcg), bch)) → new_ltEs16(ywz5001, ywz4001, bcg, bch)
new_primCompAux00(ywz280, GT) → GT
new_esEs4(Left(ywz5000), Left(ywz4000), ty_@0, ce) → new_esEs14(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bfc)) → new_esEs11(ywz5001, ywz4001, bfc)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, db), dc), dd), ce) → new_ltEs4(ywz5000, ywz4000, db, dc, dd)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs8([], :(ywz4000, ywz4001), h) → False
new_esEs8(:(ywz5000, ywz5001), [], h) → False
new_ltEs5(Right(ywz5000), Right(ywz4000), dg, ty_Integer) → new_ltEs13(ywz5000, ywz4000)
new_ltEs20(ywz5001, ywz4001, app(app(ty_Either, bca), bcb)) → new_ltEs5(ywz5001, ywz4001, bca, bcb)
new_esEs22(ywz5002, ywz4002, app(ty_Ratio, bfd)) → new_esEs11(ywz5002, ywz4002, bfd)
new_esEs6(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bbg, bdb) → new_asAs(new_esEs27(ywz5000, ywz4000, bbg), new_esEs28(ywz5001, ywz4001, bdb))
new_esEs28(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat2(ywz50000, ywz4000)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs22(ywz5002, ywz4002, app(ty_Maybe, gh)) → new_esEs7(ywz5002, ywz4002, gh)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_not(True) → False
new_ltEs7(ywz500, ywz400, app(ty_Maybe, bed)) → new_ltEs12(ywz500, ywz400, bed)
new_esEs15(False, False) → True

The set Q consists of the following terms:

new_sr(x0, x1)
new_lt13(x0, x1, ty_@0)
new_ltEs16(@2(x0, x1), @2(x2, x3), x4, x5)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(Right(x0), Right(x1), x2, ty_Double)
new_esEs20(x0, x1, ty_Double)
new_esEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_lt14(x0, x1, ty_Char)
new_compare0(:(x0, x1), [], x2)
new_compare25(Double(x0, x1), Double(x2, x3))
new_esEs24(x0, x1, ty_Ordering)
new_esEs28(x0, x1, ty_Int)
new_esEs4(Left(x0), Left(x1), ty_Double, x2)
new_compare6(x0, x1, ty_Bool)
new_primCmpNat1(Zero, Succ(x0))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs21(x0, x1, ty_Int)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs24(x0, x1, ty_Bool)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_compare0([], [], x0)
new_compare6(x0, x1, app(app(ty_Either, x2), x3))
new_esEs8([], :(x0, x1), x2)
new_compare110(x0, x1, False, x2, x3, x4)
new_ltEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs7(x0, x1, ty_@0)
new_ltEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Bool)
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_primPlusNat1(Succ(x0), Zero)
new_esEs15(True, True)
new_esEs7(Just(x0), Just(x1), app(ty_Maybe, x2))
new_ltEs17(EQ, GT)
new_ltEs17(GT, EQ)
new_ltEs7(x0, x1, app(app(ty_@2, x2), x3))
new_primMulNat0(Succ(x0), Zero)
new_esEs4(Left(x0), Left(x1), ty_@0, x2)
new_ltEs7(x0, x1, ty_Integer)
new_primPlusNat0(Succ(x0), x1)
new_compare6(x0, x1, ty_Int)
new_esEs4(Right(x0), Right(x1), x2, ty_Int)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs13(Integer(x0), Integer(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_ltEs15(True, True)
new_ltEs19(x0, x1, ty_Ordering)
new_compare24(x0, x1, False, x2, x3, x4)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs25(x0, x1, ty_Float)
new_lt11(x0, x1, x2)
new_lt19(x0, x1)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_ltEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs14(x0, x1)
new_esEs15(False, False)
new_lt8(x0, x1)
new_esEs20(x0, x1, ty_Ordering)
new_esEs18(x0, x1, ty_Int)
new_ltEs15(False, False)
new_ltEs19(x0, x1, ty_Double)
new_lt20(x0, x1, app(ty_[], x2))
new_lt16(x0, x1, x2, x3, x4)
new_compare112(x0, x1, True, x2)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs16(LT, GT)
new_esEs16(GT, LT)
new_lt14(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_@0)
new_compare6(x0, x1, ty_Float)
new_esEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs7(Nothing, Nothing, x0)
new_ltEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, ty_@0)
new_lt20(x0, x1, ty_Bool)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_Int)
new_primEqNat0(Succ(x0), Succ(x1))
new_primCmpNat0(Zero, x0)
new_pePe(True, x0)
new_esEs23(x0, x1, ty_Double)
new_lt20(x0, x1, ty_Integer)
new_esEs9(x0, x1)
new_compare7(x0, x1)
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs19(x0, x1, ty_Float)
new_lt12(x0, x1, x2, x3)
new_esEs27(x0, x1, ty_Float)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_compare210(x0, x1, False)
new_primCmpNat1(Zero, Zero)
new_ltEs12(Just(x0), Just(x1), ty_Float)
new_esEs23(x0, x1, ty_Integer)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_ltEs20(x0, x1, ty_Double)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_ltEs7(x0, x1, app(ty_Maybe, x2))
new_esEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_compare6(x0, x1, app(app(ty_@2, x2), x3))
new_compare27(x0, x1, True, x2)
new_ltEs12(Nothing, Just(x0), x1)
new_lt13(x0, x1, ty_Char)
new_ltEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs24(x0, x1, ty_Float)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(Right(x0), Right(x1), x2, ty_@0)
new_esEs10(Float(x0, x1), Float(x2, x3))
new_primEqNat0(Zero, Zero)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_compare6(x0, x1, app(ty_Maybe, x2))
new_esEs4(Right(x0), Right(x1), x2, ty_Integer)
new_esEs24(x0, x1, ty_Int)
new_compare9(x0, x1, x2, x3)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_ltEs5(Right(x0), Right(x1), x2, ty_Bool)
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_primCompAux00(x0, GT)
new_compare10(x0, x1, False)
new_esEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_lt14(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCompAux00(x0, EQ)
new_ltEs5(Left(x0), Left(x1), ty_Char, x2)
new_primMulNat0(Zero, Zero)
new_esEs7(Just(x0), Nothing, x1)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_ltEs7(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_compare6(x0, x1, ty_Integer)
new_esEs7(Just(x0), Just(x1), app(ty_[], x2))
new_lt20(x0, x1, ty_@0)
new_ltEs8(x0, x1, x2)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_ltEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs28(x0, x1, ty_Char)
new_compare19(x0, x1)
new_esEs25(x0, x1, ty_Int)
new_compare8(Float(x0, x1), Float(x2, x3))
new_compare0([], :(x0, x1), x2)
new_lt13(x0, x1, app(ty_Maybe, x2))
new_esEs16(GT, GT)
new_ltEs12(Just(x0), Nothing, x1)
new_esEs25(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), ty_Int, x2)
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_esEs20(x0, x1, app(ty_[], x2))
new_compare24(x0, x1, True, x2, x3, x4)
new_ltEs12(Just(x0), Just(x1), ty_Integer)
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_lt13(x0, x1, ty_Double)
new_esEs14(@0, @0)
new_esEs7(Just(x0), Just(x1), app(ty_Ratio, x2))
new_ltEs18(x0, x1)
new_esEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_primMulInt(Neg(x0), Neg(x1))
new_compare13(x0, x1, x2)
new_esEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs26(x0, x1, ty_Float)
new_esEs24(x0, x1, ty_Char)
new_esEs8([], [], x0)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(Just(x0), Just(x1), ty_Ordering)
new_ltEs20(x0, x1, ty_Integer)
new_compare12(:%(x0, x1), :%(x2, x3), ty_Integer)
new_esEs21(x0, x1, ty_Double)
new_esEs22(x0, x1, ty_@0)
new_compare16(@0, @0)
new_esEs20(x0, x1, ty_@0)
new_lt13(x0, x1, app(ty_Ratio, x2))
new_ltEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_pePe(False, x0)
new_compare27(Just(x0), Nothing, False, x1)
new_ltEs7(x0, x1, ty_Double)
new_compare26(x0, x1, False, x2, x3)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs21(x0, x1, ty_Integer)
new_esEs22(x0, x1, ty_Double)
new_ltEs19(x0, x1, ty_Char)
new_esEs19(x0, x1, ty_Int)
new_compare29(x0, x1, True)
new_compare15(Integer(x0), Integer(x1))
new_compare29(x0, x1, False)
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_primCmpNat2(x0, Zero)
new_compare6(x0, x1, ty_@0)
new_esEs23(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_primPlusNat1(Zero, Zero)
new_ltEs9(x0, x1)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_ltEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs21(x0, x1, ty_Ordering)
new_esEs6(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs24(x0, x1, ty_Integer)
new_ltEs5(Left(x0), Left(x1), ty_Bool, x2)
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_esEs8(:(x0, x1), :(x2, x3), x4)
new_esEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_lt13(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare113(x0, x1, True, x2, x3)
new_esEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_compare6(x0, x1, ty_Char)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs28(x0, x1, ty_Float)
new_compare27(Just(x0), Just(x1), False, x2)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_ltEs19(x0, x1, ty_Bool)
new_lt13(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Bool)
new_primCompAux00(x0, LT)
new_ltEs5(Right(x0), Right(x1), x2, ty_Int)
new_ltEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs24(x0, x1, app(ty_[], x2))
new_lt20(x0, x1, ty_Ordering)
new_lt10(x0, x1)
new_ltEs7(x0, x1, ty_Bool)
new_esEs23(x0, x1, ty_@0)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Integer)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_lt15(x0, x1)
new_ltEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs27(x0, x1, ty_Ordering)
new_ltEs12(Nothing, Nothing, x0)
new_lt14(x0, x1, app(ty_Maybe, x2))
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs15(False, True)
new_ltEs15(True, False)
new_ltEs17(GT, GT)
new_lt14(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Int)
new_lt14(x0, x1, ty_Bool)
new_esEs25(x0, x1, ty_Ordering)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_ltEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_lt13(x0, x1, app(app(ty_@2, x2), x3))
new_compare210(x0, x1, True)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs20(x0, x1, ty_Int)
new_esEs7(Just(x0), Just(x1), ty_Float)
new_ltEs20(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Double)
new_ltEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs22(x0, x1, ty_Int)
new_esEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_ltEs7(x0, x1, ty_Int)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(Just(x0), Just(x1), ty_Ordering)
new_ltEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs5(Left(x0), Left(x1), ty_Double, x2)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt18(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs15(False, True)
new_esEs15(True, False)
new_esEs4(Left(x0), Left(x1), ty_Float, x2)
new_primMulNat0(Zero, Succ(x0))
new_esEs7(Just(x0), Just(x1), ty_Int)
new_esEs22(x0, x1, ty_Bool)
new_ltEs7(x0, x1, ty_Char)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_ltEs7(x0, x1, app(ty_[], x2))
new_primCompAux0(x0, x1, x2, x3)
new_lt17(x0, x1)
new_asAs(True, x0)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs7(x0, x1, ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, ty_Char)
new_lt20(x0, x1, ty_Char)
new_esEs16(LT, LT)
new_compare17(x0, x1)
new_lt13(x0, x1, ty_Integer)
new_esEs7(Just(x0), Just(x1), ty_Char)
new_esEs26(x0, x1, ty_Ordering)
new_esEs18(x0, x1, ty_Integer)
new_ltEs12(Just(x0), Just(x1), app(ty_[], x2))
new_sr0(Integer(x0), Integer(x1))
new_esEs28(x0, x1, ty_Double)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_ltEs10(x0, x1)
new_esEs22(x0, x1, ty_Ordering)
new_esEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs22(x0, x1, ty_Float)
new_esEs26(x0, x1, app(ty_[], x2))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare28(x0, x1, True, x2, x3)
new_ltEs5(Left(x0), Left(x1), ty_@0, x2)
new_compare10(x0, x1, True)
new_ltEs5(Right(x0), Right(x1), x2, ty_@0)
new_lt6(x0, x1)
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, app(ty_[], x2))
new_lt13(x0, x1, ty_Bool)
new_esEs4(Left(x0), Left(x1), ty_Int, x2)
new_ltEs20(x0, x1, ty_Ordering)
new_lt14(x0, x1, ty_Integer)
new_esEs25(x0, x1, app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), ty_Double)
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_compare26(x0, x1, True, x2, x3)
new_compare27(Nothing, Nothing, False, x0)
new_esEs4(Left(x0), Right(x1), x2, x3)
new_esEs4(Right(x0), Left(x1), x2, x3)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_asAs(False, x0)
new_lt13(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_@0)
new_lt14(x0, x1, app(ty_Ratio, x2))
new_primPlusNat1(Zero, Succ(x0))
new_compare111(x0, x1, False, x2, x3)
new_esEs4(Right(x0), Right(x1), x2, ty_Char)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs11(:%(x0, x1), :%(x2, x3), x4)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_compare6(x0, x1, ty_Ordering)
new_esEs7(Just(x0), Just(x1), ty_Integer)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_compare14(Char(x0), Char(x1))
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_compare110(x0, x1, True, x2, x3, x4)
new_ltEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_ltEs17(LT, GT)
new_ltEs17(GT, LT)
new_esEs23(x0, x1, ty_Float)
new_esEs4(Left(x0), Left(x1), ty_Integer, x2)
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, ty_Float)
new_compare27(Nothing, Just(x0), False, x1)
new_ltEs5(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs12(Char(x0), Char(x1))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, ty_Char)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt13(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, ty_Ordering)
new_compare113(x0, x1, False, x2, x3)
new_ltEs19(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Char)
new_esEs4(Right(x0), Right(x1), x2, ty_Float)
new_esEs4(Left(x0), Left(x1), ty_Char, x2)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_ltEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs27(x0, x1, ty_Int)
new_esEs17(Double(x0, x1), Double(x2, x3))
new_primCmpNat1(Succ(x0), Zero)
new_ltEs12(Just(x0), Just(x1), ty_Bool)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare6(x0, x1, ty_Double)
new_ltEs5(Right(x0), Right(x1), x2, ty_Integer)
new_esEs27(x0, x1, ty_Double)
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpNat1(Succ(x0), Succ(x1))
new_primPlusNat1(Succ(x0), Succ(x1))
new_ltEs12(Just(x0), Just(x1), ty_Char)
new_compare6(x0, x1, app(ty_Ratio, x2))
new_lt14(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(Just(x0), Just(x1), ty_Double)
new_ltEs7(x0, x1, ty_Float)
new_not(True)
new_esEs7(Just(x0), Just(x1), ty_Bool)
new_esEs7(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs24(x0, x1, ty_@0)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, ty_Char)
new_esEs8(:(x0, x1), [], x2)
new_esEs16(EQ, LT)
new_esEs16(LT, EQ)
new_lt9(x0, x1, x2)
new_compare12(:%(x0, x1), :%(x2, x3), ty_Int)
new_primCmpNat0(Succ(x0), x1)
new_esEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs16(EQ, EQ)
new_esEs21(x0, x1, ty_@0)
new_ltEs7(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Double)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_ltEs19(x0, x1, ty_Int)
new_esEs28(x0, x1, app(ty_[], x2))
new_not(False)
new_esEs25(x0, x1, ty_Integer)
new_ltEs12(Just(x0), Just(x1), ty_@0)
new_lt5(x0, x1, x2)
new_compare6(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, ty_Int)
new_compare111(x0, x1, True, x2, x3)
new_esEs23(x0, x1, ty_Ordering)
new_esEs26(x0, x1, ty_Char)
new_lt4(x0, x1, x2, x3)
new_esEs28(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Bool)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_primMulNat0(Succ(x0), Succ(x1))
new_lt14(x0, x1, ty_@0)
new_ltEs5(Left(x0), Left(x1), ty_Float, x2)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(x0, x1, ty_Float)
new_ltEs13(x0, x1)
new_compare28(x0, x1, False, x2, x3)
new_lt14(x0, x1, ty_Ordering)
new_esEs16(EQ, GT)
new_esEs16(GT, EQ)
new_lt7(x0, x1)
new_ltEs17(LT, EQ)
new_esEs7(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_ltEs17(EQ, LT)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_lt14(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Integer)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs23(x0, x1, ty_Int)
new_ltEs5(Left(x0), Right(x1), x2, x3)
new_ltEs5(Right(x0), Left(x1), x2, x3)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs26(x0, x1, ty_@0)
new_esEs7(Just(x0), Just(x1), ty_@0)
new_ltEs6(x0, x1)
new_ltEs12(Just(x0), Just(x1), ty_Int)
new_ltEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs19(x0, x1, ty_Integer)
new_esEs24(x0, x1, ty_Double)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_lt14(x0, x1, ty_Double)
new_lt20(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs23(x0, x1, ty_Bool)
new_ltEs19(x0, x1, ty_Integer)
new_primPlusNat0(Zero, x0)
new_esEs4(Left(x0), Left(x1), ty_Bool, x2)
new_primEqNat0(Zero, Succ(x0))
new_compare18(x0, x1, x2, x3)
new_esEs25(x0, x1, ty_Double)
new_ltEs5(Right(x0), Right(x1), x2, ty_Float)
new_primCmpNat2(x0, Succ(x1))
new_esEs22(x0, x1, ty_Integer)
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_lt13(x0, x1, ty_Float)
new_compare112(x0, x1, False, x2)
new_ltEs11(x0, x1, x2)
new_compare11(x0, x1, False)
new_esEs20(x0, x1, ty_Char)
new_ltEs17(EQ, EQ)
new_esEs22(x0, x1, ty_Char)
new_ltEs17(LT, LT)
new_esEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Bool)
new_esEs5(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_compare11(x0, x1, True)
new_compare5(x0, x1, x2, x3, x4)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs28(x0, x1, ty_Bool)
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs7(Nothing, Just(x0), x1)
new_esEs7(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt13(x0, x1, ty_Ordering)
new_ltEs4(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_lt14(x0, x1, app(ty_[], x2))

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_addToFM_C3(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, h, ba) → new_addToFM_C2(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_lt5(ywz50, ywz740, h), h, ba)
new_addToFM_C2(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, False, h, ba) → new_addToFM_C1(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_gt(ywz50, ywz740, h), h, ba)
new_addToFM_C2(ywz740, ywz741, ywz742, Branch(ywz7430, ywz7431, ywz7432, ywz7433, ywz7434), ywz744, ywz50, ywz9, True, h, ba) → new_addToFM_C3(ywz7430, ywz7431, ywz7432, ywz7433, ywz7434, ywz50, ywz9, h, ba)
new_addToFM_C1(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, True, h, ba) → new_addToFM_C(ywz744, ywz50, ywz9, h, ba)
new_addToFM_C(Branch(ywz7430, ywz7431, ywz7432, ywz7433, ywz7434), ywz50, ywz9, h, ba) → new_addToFM_C3(ywz7430, ywz7431, ywz7432, ywz7433, ywz7434, ywz50, ywz9, h, ba)

The TRS R consists of the following rules:

new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(ty_@2, ha), hb), eh) → new_ltEs16(ywz5000, ywz4000, ha, hb)
new_esEs26(ywz5000, ywz4000, app(ty_[], bde)) → new_esEs8(ywz5000, ywz4000, bde)
new_esEs23(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs22(ywz5002, ywz4002, ty_Double) → new_esEs17(ywz5002, ywz4002)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_Maybe, cb)) → new_esEs7(ywz5000, ywz4000, cb)
new_ltEs7(ywz500, ywz400, app(ty_Ratio, ed)) → new_ltEs11(ywz500, ywz400, ed)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bag)) → new_esEs7(ywz5000, ywz4000, bag)
new_compare112(ywz95, ywz96, True, bdd) → LT
new_ltEs19(ywz5002, ywz4002, app(ty_[], bcb)) → new_ltEs8(ywz5002, ywz4002, bcb)
new_compare6(ywz5000, ywz4000, ty_Double) → new_compare25(ywz5000, ywz4000)
new_esEs16(EQ, GT) → False
new_esEs16(GT, EQ) → False
new_ltEs19(ywz5002, ywz4002, app(ty_Ratio, bce)) → new_ltEs11(ywz5002, ywz4002, bce)
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, bbh), bca)) → new_esEs6(ywz5001, ywz4001, bbh, bca)
new_ltEs20(ywz5001, ywz4001, ty_Int) → new_ltEs9(ywz5001, ywz4001)
new_ltEs15(True, False) → False
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs17(LT, LT) → True
new_esEs25(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(app(app(ty_@3, bbe), bbf), bbg)) → new_esEs5(ywz5001, ywz4001, bbe, bbf, bbg)
new_compare6(ywz5000, ywz4000, app(app(ty_@2, eb), ec)) → new_compare18(ywz5000, ywz4000, eb, ec)
new_ltEs5(Right(ywz5000), Right(ywz4000), eg, ty_Int) → new_ltEs9(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_[], db)) → new_compare0(ywz5000, ywz4000, db)
new_ltEs7(ywz500, ywz400, app(ty_[], da)) → new_ltEs8(ywz500, ywz400, da)
new_lt20(ywz5000, ywz4000, ty_Int) → new_lt10(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, ty_Integer) → new_compare15(ywz5000, ywz4000)
new_primCmpNat1(Zero, Succ(ywz400000)) → LT
new_lt14(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_lt4(ywz5000, ywz4000, fg, fh)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_lt19(ywz5000, ywz4000) → new_esEs16(new_compare25(ywz5000, ywz4000), LT)
new_esEs26(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_[], bf)) → new_esEs8(ywz5000, ywz4000, bf)
new_compare27(Just(ywz500), Just(ywz400), False, h) → new_compare112(ywz500, ywz400, new_ltEs7(ywz500, ywz400, h), h)
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, bea)) → new_esEs7(ywz5000, ywz4000, bea)
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, app(app(ty_Either, ee), ef)) → new_lt12(ywz5000, ywz4000, ee, ef)
new_esEs22(ywz5002, ywz4002, ty_Char) → new_esEs12(ywz5002, ywz4002)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Double) → new_ltEs18(ywz5000, ywz4000)
new_ltEs10(ywz500, ywz400) → new_not(new_esEs16(new_compare8(ywz500, ywz400), GT))
new_ltEs12(Nothing, Nothing, be) → True
new_primMulNat0(Zero, Zero) → Zero
new_esEs24(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs8(:(ywz5000, ywz5001), :(ywz4000, ywz4001), da) → new_asAs(new_esEs25(ywz5000, ywz4000, da), new_esEs8(ywz5001, ywz4001, da))
new_lt13(ywz5001, ywz4001, ty_@0) → new_lt7(ywz5001, ywz4001)
new_lt20(ywz5000, ywz4000, ty_@0) → new_lt7(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Int, eh) → new_ltEs9(ywz5000, ywz4000)
new_compare29(ywz5000, ywz4000, True) → EQ
new_esEs4(Right(ywz5000), Right(ywz4000), eg, app(ty_[], hc)) → new_esEs8(ywz5000, ywz4000, hc)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs5(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), fa, fb, fc) → new_asAs(new_esEs20(ywz5000, ywz4000, fa), new_asAs(new_esEs21(ywz5001, ywz4001, fb), new_esEs22(ywz5002, ywz4002, fc)))
new_esEs4(Right(ywz5000), Right(ywz4000), eg, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), eg, app(ty_[], hc)) → new_ltEs8(ywz5000, ywz4000, hc)
new_lt20(ywz5000, ywz4000, ty_Float) → new_lt6(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_Char) → new_ltEs6(ywz500, ywz400)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Integer) → new_ltEs13(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), eg, ty_Float) → new_ltEs10(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(ty_Either, bdf), bdg)) → new_lt12(ywz5000, ywz4000, bdf, bdg)
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_compare16(@0, @0) → EQ
new_compare29(ywz5000, ywz4000, False) → new_compare11(ywz5000, ywz4000, new_ltEs17(ywz5000, ywz4000))
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_Ratio, ca)) → new_esEs11(ywz5000, ywz4000, ca)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, ee), ef)) → new_esEs4(ywz5000, ywz4000, ee, ef)
new_esEs19(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(ty_@2, ha), hb), eh) → new_esEs6(ywz5000, ywz4000, ha, hb)
new_compare9(ywz5000, ywz4000, ee, ef) → new_compare26(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, ee, ef), ee, ef)
new_ltEs5(Left(ywz5000), Right(ywz4000), eg, eh) → True
new_lt14(ywz5000, ywz4000, ty_Int) → new_lt10(ywz5000, ywz4000)
new_compare0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), da) → new_primCompAux0(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, da), da)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(ty_@2, cf), cg)) → new_esEs6(ywz5000, ywz4000, cf, cg)
new_ltEs7(ywz500, ywz400, ty_Double) → new_ltEs18(ywz500, ywz400)
new_primCmpNat1(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat1(ywz500000, ywz400000)
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), eg, app(app(ty_Either, hd), he)) → new_ltEs5(ywz5000, ywz4000, hd, he)
new_lt14(ywz5000, ywz4000, app(ty_Maybe, bag)) → new_lt5(ywz5000, ywz4000, bag)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Float, eh) → new_ltEs10(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, app(ty_Maybe, bcf)) → new_ltEs12(ywz5002, ywz4002, bcf)
new_ltEs13(ywz500, ywz400) → new_not(new_esEs16(new_compare15(ywz500, ywz400), GT))
new_compare6(ywz5000, ywz4000, ty_@0) → new_compare16(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_esEs6(ywz5000, ywz4000, fg, fh)
new_esEs28(ywz5001, ywz4001, app(app(app(ty_@3, bfd), bfe), bff)) → new_esEs5(ywz5001, ywz4001, bfd, bfe, bff)
new_esEs22(ywz5002, ywz4002, app(ty_[], bcb)) → new_esEs8(ywz5002, ywz4002, bcb)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_ltEs9(ywz500, ywz400) → new_not(new_esEs16(new_compare7(ywz500, ywz400), GT))
new_ltEs5(Right(ywz5000), Left(ywz4000), eg, eh) → False
new_ltEs19(ywz5002, ywz4002, ty_Char) → new_ltEs6(ywz5002, ywz4002)
new_ltEs17(EQ, LT) → False
new_pePe(False, ywz175) → ywz175
new_esEs27(ywz5000, ywz4000, app(ty_[], bde)) → new_esEs8(ywz5000, ywz4000, bde)
new_esEs25(ywz5000, ywz4000, app(app(ty_Either, dc), dd)) → new_esEs4(ywz5000, ywz4000, dc, dd)
new_esEs15(True, False) → False
new_esEs15(False, True) → False
new_ltEs15(True, True) → True
new_ltEs19(ywz5002, ywz4002, ty_Float) → new_ltEs10(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, app(app(ty_Either, bcc), bcd)) → new_esEs4(ywz5002, ywz4002, bcc, bcd)
new_compare6(ywz5000, ywz4000, ty_Bool) → new_compare17(ywz5000, ywz4000)
new_ltEs15(False, True) → True
new_esEs26(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(ty_Maybe, bbd)) → new_esEs7(ywz5001, ywz4001, bbd)
new_lt13(ywz5001, ywz4001, ty_Integer) → new_lt8(ywz5001, ywz4001)
new_esEs23(ywz5000, ywz4000, app(ty_Maybe, bag)) → new_esEs7(ywz5000, ywz4000, bag)
new_esEs10(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs9(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Integer, eh) → new_ltEs13(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_Ratio, ca)) → new_ltEs11(ywz5000, ywz4000, ca)
new_ltEs15(False, False) → True
new_esEs26(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_lt17(ywz5000, ywz4000) → new_esEs16(new_compare17(ywz5000, ywz4000), LT)
new_compare27(Nothing, Just(ywz400), False, h) → LT
new_esEs20(ywz5000, ywz4000, app(ty_[], bae)) → new_esEs8(ywz5000, ywz4000, bae)
new_esEs25(ywz5000, ywz4000, app(app(ty_@2, eb), ec)) → new_esEs6(ywz5000, ywz4000, eb, ec)
new_compare14(Char(ywz5000), Char(ywz4000)) → new_primCmpNat1(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Char, eh) → new_ltEs6(ywz5000, ywz4000)
new_compare18(ywz5000, ywz4000, fg, fh) → new_compare28(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, fg, fh), fg, fh)
new_esEs25(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Char, eh) → new_esEs12(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, app(app(app(ty_@3, bcg), bch), bda)) → new_ltEs4(ywz5002, ywz4002, bcg, bch, bda)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(ty_@2, cf), cg)) → new_ltEs16(ywz5000, ywz4000, cf, cg)
new_lt14(ywz5000, ywz4000, ty_Char) → new_lt15(ywz5000, ywz4000)
new_lt5(ywz50, ywz40, h) → new_esEs16(new_compare13(ywz50, ywz40, h), LT)
new_esEs28(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, app(app(ty_@2, bbh), bca)) → new_esEs6(ywz5001, ywz4001, bbh, bca)
new_compare0([], [], da) → EQ
new_pePe(True, ywz175) → True
new_primEqNat0(Zero, Zero) → True
new_esEs19(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs14(@0, @0) → True
new_compare111(ywz5000, ywz4000, False, ee, ef) → GT
new_esEs28(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_compare17(ywz5000, ywz4000) → new_compare210(ywz5000, ywz4000, new_esEs15(ywz5000, ywz4000))
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_[], bf)) → new_ltEs8(ywz5000, ywz4000, bf)
new_ltEs5(Right(ywz5000), Right(ywz4000), eg, ty_@0) → new_ltEs14(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_@0, eh) → new_ltEs14(ywz5000, ywz4000)
new_esEs16(LT, GT) → False
new_esEs16(GT, LT) → False
new_lt20(ywz5000, ywz4000, app(ty_[], bde)) → new_lt9(ywz5000, ywz4000, bde)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_ltEs17(GT, LT) → False
new_sr(ywz5001, ywz4001) → new_primMulInt(ywz5001, ywz4001)
new_compare7(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_gt(ywz50, ywz40, h) → new_esEs16(new_compare13(ywz50, ywz40, h), GT)
new_primCmpNat1(Zero, Zero) → EQ
new_ltEs7(ywz500, ywz400, ty_Integer) → new_ltEs13(ywz500, ywz400)
new_esEs24(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Int, eh) → new_esEs9(ywz5000, ywz4000)
new_ltEs20(ywz5001, ywz4001, app(ty_Ratio, bfb)) → new_ltEs11(ywz5001, ywz4001, bfb)
new_primPlusNat0(Succ(ywz1950), ywz400100) → Succ(Succ(new_primPlusNat1(ywz1950, ywz400100)))
new_ltEs11(ywz500, ywz400, ed) → new_not(new_esEs16(new_compare12(ywz500, ywz400, ed), GT))
new_ltEs19(ywz5002, ywz4002, ty_Bool) → new_ltEs15(ywz5002, ywz4002)
new_lt14(ywz5000, ywz4000, app(ty_Ratio, baf)) → new_lt11(ywz5000, ywz4000, baf)
new_esEs28(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_esEs4(Right(ywz5000), Right(ywz4000), eg, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs13(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_primCmpNat1(Succ(ywz500000), Zero) → GT
new_esEs4(Right(ywz5000), Right(ywz4000), eg, app(app(ty_Either, hd), he)) → new_esEs4(ywz5000, ywz4000, hd, he)
new_compare24(ywz5000, ywz4000, True, bb, bc, bd) → EQ
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Ordering, eh) → new_ltEs17(ywz5000, ywz4000)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_ltEs20(ywz5001, ywz4001, app(app(app(ty_@3, bfd), bfe), bff)) → new_ltEs4(ywz5001, ywz4001, bfd, bfe, bff)
new_esEs24(ywz5001, ywz4001, app(ty_Ratio, bbc)) → new_esEs11(ywz5001, ywz4001, bbc)
new_lt20(ywz5000, ywz4000, app(ty_Ratio, bdh)) → new_lt11(ywz5000, ywz4000, bdh)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs15(True, True) → True
new_compare113(ywz5000, ywz4000, True, fg, fh) → LT
new_esEs4(Right(ywz5000), Right(ywz4000), eg, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(ty_Either, gb), gc), eh) → new_esEs4(ywz5000, ywz4000, gb, gc)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, gf), gg), gh), eh) → new_esEs5(ywz5000, ywz4000, gf, gg, gh)
new_primCompAux0(ywz5000, ywz4000, ywz228, da) → new_primCompAux00(ywz228, new_compare6(ywz5000, ywz4000, da))
new_ltEs17(LT, GT) → True
new_primPlusNat1(Succ(ywz19500), Zero) → Succ(ywz19500)
new_primPlusNat1(Zero, Succ(ywz4001000)) → Succ(ywz4001000)
new_ltEs5(Right(ywz5000), Right(ywz4000), eg, ty_Ordering) → new_ltEs17(ywz5000, ywz4000)
new_compare27(Just(ywz500), Nothing, False, h) → GT
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Float) → new_ltEs10(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_@0) → new_ltEs14(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_Ratio, de)) → new_compare12(ywz5000, ywz4000, de)
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, app(ty_[], beg)) → new_esEs8(ywz5001, ywz4001, beg)
new_lt13(ywz5001, ywz4001, ty_Float) → new_lt6(ywz5001, ywz4001)
new_compare27(Nothing, Nothing, False, h) → LT
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_lt18(ywz5000, ywz4000) → new_esEs16(new_compare19(ywz5000, ywz4000), LT)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_Ratio, gd), eh) → new_esEs11(ywz5000, ywz4000, gd)
new_compare6(ywz5000, ywz4000, ty_Char) → new_compare14(ywz5000, ywz4000)
new_primCmpNat0(Succ(ywz40000), ywz50000) → new_primCmpNat1(ywz40000, ywz50000)
new_esEs8([], [], da) → True
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_lt20(ywz5000, ywz4000, ty_Integer) → new_lt8(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, ty_Ordering) → new_lt18(ywz5000, ywz4000)
new_compare26(ywz5000, ywz4000, True, ee, ef) → EQ
new_ltEs5(Right(ywz5000), Right(ywz4000), eg, ty_Char) → new_ltEs6(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bba), bbb)) → new_esEs4(ywz5001, ywz4001, bba, bbb)
new_esEs22(ywz5002, ywz4002, app(app(app(ty_@3, bcg), bch), bda)) → new_esEs5(ywz5002, ywz4002, bcg, bch, bda)
new_esEs4(Right(ywz5000), Right(ywz4000), eg, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(ty_Maybe, bea)) → new_lt5(ywz5000, ywz4000, bea)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_ltEs17(EQ, EQ) → True
new_ltEs20(ywz5001, ywz4001, app(ty_[], beg)) → new_ltEs8(ywz5001, ywz4001, beg)
new_ltEs19(ywz5002, ywz4002, ty_Ordering) → new_ltEs17(ywz5002, ywz4002)
new_compare12(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare7(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_lt13(ywz5001, ywz4001, ty_Char) → new_lt15(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_Maybe, ge), eh) → new_ltEs12(ywz5000, ywz4000, ge)
new_esEs23(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_@0) → new_ltEs14(ywz500, ywz400)
new_ltEs8(ywz500, ywz400, da) → new_not(new_esEs16(new_compare0(ywz500, ywz400, da), GT))
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(ty_Either, gb), gc), eh) → new_ltEs5(ywz5000, ywz4000, gb, gc)
new_compare19(ywz5000, ywz4000) → new_compare29(ywz5000, ywz4000, new_esEs16(ywz5000, ywz4000))
new_lt15(ywz5000, ywz4000) → new_esEs16(new_compare14(ywz5000, ywz4000), LT)
new_esEs25(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(ty_[], db)) → new_esEs8(ywz5000, ywz4000, db)
new_lt9(ywz5000, ywz4000, bae) → new_esEs16(new_compare0(ywz5000, ywz4000, bae), LT)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_Ratio, gd), eh) → new_ltEs11(ywz5000, ywz4000, gd)
new_lt14(ywz5000, ywz4000, ty_Double) → new_lt19(ywz5000, ywz4000)
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_lt14(ywz5000, ywz4000, app(app(app(ty_@3, bb), bc), bd)) → new_lt16(ywz5000, ywz4000, bb, bc, bd)
new_esEs23(ywz5000, ywz4000, app(ty_[], bae)) → new_esEs8(ywz5000, ywz4000, bae)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Ordering, eh) → new_esEs16(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, app(app(ty_@2, fd), ff)) → new_ltEs16(ywz500, ywz400, fd, ff)
new_ltEs7(ywz500, ywz400, ty_Float) → new_ltEs10(ywz500, ywz400)
new_compare113(ywz5000, ywz4000, False, fg, fh) → GT
new_lt14(ywz5000, ywz4000, ty_Float) → new_lt6(ywz5000, ywz4000)
new_ltEs4(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), fa, fb, fc) → new_pePe(new_lt14(ywz5000, ywz4000, fa), new_asAs(new_esEs23(ywz5000, ywz4000, fa), new_pePe(new_lt13(ywz5001, ywz4001, fb), new_asAs(new_esEs24(ywz5001, ywz4001, fb), new_ltEs19(ywz5002, ywz4002, fc)))))
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_ltEs17(ywz5000, ywz4000)
new_primCompAux00(ywz280, LT) → LT
new_esEs23(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, beb), bec), bed)) → new_esEs5(ywz5000, ywz4000, beb, bec, bed)
new_esEs7(Nothing, Nothing, be) → True
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_esEs22(ywz5002, ywz4002, ty_Integer) → new_esEs13(ywz5002, ywz4002)
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, app(ty_Maybe, bfc)) → new_ltEs12(ywz5001, ywz4001, bfc)
new_ltEs20(ywz5001, ywz4001, ty_Integer) → new_ltEs13(ywz5001, ywz4001)
new_compare5(ywz5000, ywz4000, bb, bc, bd) → new_compare24(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bb, bc, bd), bb, bc, bd)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Double, eh) → new_esEs17(ywz5000, ywz4000)
new_compare8(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare7(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs17(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs9(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs4(Right(ywz5000), Right(ywz4000), eg, app(app(app(ty_@3, hh), baa), bab)) → new_esEs5(ywz5000, ywz4000, hh, baa, bab)
new_lt20(ywz5000, ywz4000, app(app(ty_@2, bee), bef)) → new_lt4(ywz5000, ywz4000, bee, bef)
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_lt12(ywz5000, ywz4000, ee, ef) → new_esEs16(new_compare9(ywz5000, ywz4000, ee, ef), LT)
new_ltEs20(ywz5001, ywz4001, ty_@0) → new_ltEs14(ywz5001, ywz4001)
new_ltEs5(Right(ywz5000), Right(ywz4000), eg, app(app(app(ty_@3, hh), baa), bab)) → new_ltEs4(ywz5000, ywz4000, hh, baa, bab)
new_sr0(Integer(ywz40000), Integer(ywz50010)) → Integer(new_primMulInt(ywz40000, ywz50010))
new_primPlusNat1(Succ(ywz19500), Succ(ywz4001000)) → Succ(Succ(new_primPlusNat1(ywz19500, ywz4001000)))
new_lt13(ywz5001, ywz4001, app(ty_Maybe, bbd)) → new_lt5(ywz5001, ywz4001, bbd)
new_compare28(ywz5000, ywz4000, True, fg, fh) → EQ
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_Maybe, cb)) → new_ltEs12(ywz5000, ywz4000, cb)
new_esEs7(Just(ywz5000), Nothing, be) → False
new_esEs7(Nothing, Just(ywz4000), be) → False
new_esEs25(ywz5000, ywz4000, app(ty_Ratio, de)) → new_esEs11(ywz5000, ywz4000, de)
new_compare6(ywz5000, ywz4000, app(app(ty_Either, dc), dd)) → new_compare9(ywz5000, ywz4000, dc, dd)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cc), cd), ce)) → new_ltEs4(ywz5000, ywz4000, cc, cd, ce)
new_ltEs20(ywz5001, ywz4001, ty_Double) → new_ltEs18(ywz5001, ywz4001)
new_esEs25(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs22(ywz5002, ywz4002, app(app(ty_@2, bdb), bdc)) → new_esEs6(ywz5002, ywz4002, bdb, bdc)
new_esEs26(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, bdh)) → new_esEs11(ywz5000, ywz4000, bdh)
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primCompAux00(ywz280, EQ) → ywz280
new_esEs23(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_lt11(ywz5000, ywz4000, baf) → new_esEs16(new_compare12(ywz5000, ywz4000, baf), LT)
new_esEs25(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_primCmpNat0(Zero, ywz50000) → LT
new_esEs4(Right(ywz5000), Right(ywz4000), eg, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, ty_Double) → new_ltEs18(ywz5002, ywz4002)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, app(ty_[], bah)) → new_lt9(ywz5001, ywz4001, bah)
new_esEs4(Right(ywz5000), Right(ywz4000), eg, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), eg, ty_Bool) → new_ltEs15(ywz5000, ywz4000)
new_ltEs14(ywz500, ywz400) → new_not(new_esEs16(new_compare16(ywz500, ywz400), GT))
new_compare6(ywz5000, ywz4000, ty_Float) → new_compare8(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), eg, app(ty_Ratio, hf)) → new_ltEs11(ywz5000, ywz4000, hf)
new_ltEs6(ywz500, ywz400) → new_not(new_esEs16(new_compare14(ywz500, ywz400), GT))
new_esEs12(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, app(app(ty_Either, bba), bbb)) → new_lt12(ywz5001, ywz4001, bba, bbb)
new_not(False) → True
new_esEs23(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs18(ywz500, ywz400) → new_not(new_esEs16(new_compare25(ywz500, ywz400), GT))
new_primPlusNat0(Zero, ywz400100) → Succ(ywz400100)
new_esEs23(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_esEs6(ywz5000, ywz4000, fg, fh)
new_compare210(ywz5000, ywz4000, False) → new_compare10(ywz5000, ywz4000, new_ltEs15(ywz5000, ywz4000))
new_esEs11(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ed) → new_asAs(new_esEs18(ywz5000, ywz4000, ed), new_esEs19(ywz5001, ywz4001, ed))
new_esEs16(LT, EQ) → False
new_esEs16(EQ, LT) → False
new_esEs25(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(ty_[], bah)) → new_esEs8(ywz5001, ywz4001, bah)
new_compare25(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare7(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), eg, ty_Double) → new_ltEs18(ywz5000, ywz4000)
new_compare0(:(ywz5000, ywz5001), [], da) → GT
new_ltEs16(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), fd, ff) → new_pePe(new_lt20(ywz5000, ywz4000, fd), new_asAs(new_esEs26(ywz5000, ywz4000, fd), new_ltEs20(ywz5001, ywz4001, ff)))
new_esEs23(ywz5000, ywz4000, app(ty_Ratio, baf)) → new_esEs11(ywz5000, ywz4000, baf)
new_lt20(ywz5000, ywz4000, ty_Ordering) → new_lt18(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_Bool) → new_ltEs15(ywz500, ywz400)
new_esEs4(Right(ywz5000), Right(ywz4000), eg, app(app(ty_@2, bac), bad)) → new_esEs6(ywz5000, ywz4000, bac, bad)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_[], ga), eh) → new_esEs8(ywz5000, ywz4000, ga)
new_lt13(ywz5001, ywz4001, ty_Ordering) → new_lt18(ywz5001, ywz4001)
new_esEs4(Right(ywz5000), Right(ywz4000), eg, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, baf)) → new_esEs11(ywz5000, ywz4000, baf)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, bb), bc), bd)) → new_esEs5(ywz5000, ywz4000, bb, bc, bd)
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_ltEs19(ywz5002, ywz4002, ty_Int) → new_ltEs9(ywz5002, ywz4002)
new_esEs28(ywz5001, ywz4001, app(ty_Maybe, bfc)) → new_esEs7(ywz5001, ywz4001, bfc)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat0(Zero, ywz40000)
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bbe), bbf), bbg)) → new_esEs5(ywz5001, ywz4001, bbe, bbf, bbg)
new_ltEs7(ywz500, ywz400, app(app(ty_Either, eg), eh)) → new_ltEs5(ywz500, ywz400, eg, eh)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bbd)) → new_esEs7(ywz5001, ywz4001, bbd)
new_primMulInt(Pos(ywz50010), Pos(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Bool, eh) → new_esEs15(ywz5000, ywz4000)
new_esEs18(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, app(app(ty_Either, ee), ef)) → new_esEs4(ywz5000, ywz4000, ee, ef)
new_lt7(ywz5000, ywz4000) → new_esEs16(new_compare16(ywz5000, ywz4000), LT)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_Maybe, ge), eh) → new_esEs7(ywz5000, ywz4000, ge)
new_compare13(ywz50, ywz40, h) → new_compare27(ywz50, ywz40, new_esEs7(ywz50, ywz40, h), h)
new_primMulInt(Neg(ywz50010), Neg(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, bee), bef)) → new_esEs6(ywz5000, ywz4000, bee, bef)
new_esEs16(EQ, EQ) → True
new_esEs24(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_esEs26(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, app(app(ty_Either, bcc), bcd)) → new_ltEs5(ywz5002, ywz4002, bcc, bcd)
new_primEqNat0(Succ(ywz50000), Zero) → False
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, app(ty_Ratio, bbc)) → new_lt11(ywz5001, ywz4001, bbc)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs7(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(app(ty_Either, bba), bbb)) → new_esEs4(ywz5001, ywz4001, bba, bbb)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, bdf), bdg)) → new_esEs4(ywz5000, ywz4000, bdf, bdg)
new_compare210(ywz5000, ywz4000, True) → EQ
new_esEs22(ywz5002, ywz4002, ty_Int) → new_esEs9(ywz5002, ywz4002)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Float, eh) → new_esEs10(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Bool, eh) → new_ltEs15(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat2(ywz40000, Zero)
new_lt14(ywz5000, ywz4000, ty_Integer) → new_lt8(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, app(ty_[], bae)) → new_lt9(ywz5000, ywz4000, bae)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Char) → new_ltEs6(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, ty_Double) → new_lt19(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_compare12(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare15(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_[], ga), eh) → new_ltEs8(ywz5000, ywz4000, ga)
new_compare6(ywz5000, ywz4000, app(app(app(ty_@3, dg), dh), ea)) → new_compare5(ywz5000, ywz4000, dg, dh, ea)
new_compare6(ywz5000, ywz4000, ty_Ordering) → new_compare19(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, app(app(ty_@2, bbh), bca)) → new_lt4(ywz5001, ywz4001, bbh, bca)
new_esEs26(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs28(ywz5001, ywz4001, app(app(ty_@2, bfg), bfh)) → new_esEs6(ywz5001, ywz4001, bfg, bfh)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bg), bh)) → new_ltEs5(ywz5000, ywz4000, bg, bh)
new_lt14(ywz5000, ywz4000, ty_Bool) → new_lt17(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(ty_Maybe, df)) → new_esEs7(ywz5000, ywz4000, df)
new_lt10(ywz5000, ywz4000) → new_esEs16(new_compare7(ywz5000, ywz4000), LT)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cc), cd), ce)) → new_esEs5(ywz5000, ywz4000, cc, cd, ce)
new_ltEs20(ywz5001, ywz4001, ty_Ordering) → new_ltEs17(ywz5001, ywz4001)
new_esEs25(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Integer, eh) → new_esEs13(ywz5000, ywz4000)
new_primCmpNat2(ywz50000, Succ(ywz40000)) → new_primCmpNat1(ywz50000, ywz40000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Double, eh) → new_ltEs18(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_ltEs7(ywz500, ywz400, ty_Int) → new_ltEs9(ywz500, ywz400)
new_lt13(ywz5001, ywz4001, ty_Int) → new_lt10(ywz5001, ywz4001)
new_esEs16(LT, LT) → True
new_asAs(False, ywz102) → False
new_lt20(ywz5000, ywz4000, ty_Double) → new_lt19(ywz5000, ywz4000)
new_primMulInt(Neg(ywz50010), Pos(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Pos(ywz50010), Neg(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulNat0(Zero, Succ(ywz400100)) → Zero
new_primMulNat0(Succ(ywz500100), Zero) → Zero
new_ltEs20(ywz5001, ywz4001, ty_Bool) → new_ltEs15(ywz5001, ywz4001)
new_esEs26(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs22(ywz5002, ywz4002, ty_Ordering) → new_esEs16(ywz5002, ywz4002)
new_esEs16(GT, GT) → True
new_primCmpNat2(ywz50000, Zero) → GT
new_esEs24(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_esEs23(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, app(ty_Maybe, bea)) → new_esEs7(ywz5000, ywz4000, bea)
new_lt8(ywz5000, ywz4000) → new_esEs16(new_compare15(ywz5000, ywz4000), LT)
new_compare110(ywz5000, ywz4000, True, bb, bc, bd) → LT
new_esEs25(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs28(ywz5001, ywz4001, app(app(ty_Either, beh), bfa)) → new_esEs4(ywz5001, ywz4001, beh, bfa)
new_esEs23(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), eg, app(ty_Maybe, hg)) → new_esEs7(ywz5000, ywz4000, hg)
new_esEs21(ywz5001, ywz4001, app(ty_[], bah)) → new_esEs8(ywz5001, ywz4001, bah)
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_compare26(ywz5000, ywz4000, False, ee, ef) → new_compare111(ywz5000, ywz4000, new_ltEs5(ywz5000, ywz4000, ee, ef), ee, ef)
new_esEs28(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_ltEs12(Nothing, Just(ywz4000), be) → True
new_ltEs17(GT, GT) → True
new_ltEs19(ywz5002, ywz4002, ty_@0) → new_ltEs14(ywz5002, ywz4002)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bg), bh)) → new_esEs4(ywz5000, ywz4000, bg, bh)
new_esEs24(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_ltEs17(GT, EQ) → False
new_esEs4(Right(ywz5000), Right(ywz4000), eg, app(ty_Ratio, hf)) → new_esEs11(ywz5000, ywz4000, hf)
new_esEs22(ywz5002, ywz4002, ty_Bool) → new_esEs15(ywz5002, ywz4002)
new_lt13(ywz5001, ywz4001, app(app(app(ty_@3, bbe), bbf), bbg)) → new_lt16(ywz5001, ywz4001, bbe, bbf, bbg)
new_esEs28(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_lt20(ywz5000, ywz4000, app(app(app(ty_@3, beb), bec), bed)) → new_lt16(ywz5000, ywz4000, beb, bec, bed)
new_esEs18(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Float) → new_ltEs10(ywz5001, ywz4001)
new_lt16(ywz5000, ywz4000, bb, bc, bd) → new_esEs16(new_compare5(ywz5000, ywz4000, bb, bc, bd), LT)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs10(ywz5000, ywz4000)
new_compare11(ywz5000, ywz4000, False) → GT
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Bool) → new_ltEs15(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_Ordering) → new_ltEs17(ywz500, ywz400)
new_compare11(ywz5000, ywz4000, True) → LT
new_esEs22(ywz5002, ywz4002, ty_@0) → new_esEs14(ywz5002, ywz4002)
new_esEs25(ywz5000, ywz4000, app(app(app(ty_@3, dg), dh), ea)) → new_esEs5(ywz5000, ywz4000, dg, dh, ea)
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat0(ywz4000, ywz50000)
new_compare28(ywz5000, ywz4000, False, fg, fh) → new_compare113(ywz5000, ywz4000, new_ltEs16(ywz5000, ywz4000, fg, fh), fg, fh)
new_ltEs5(Right(ywz5000), Right(ywz4000), eg, app(app(ty_@2, bac), bad)) → new_ltEs16(ywz5000, ywz4000, bac, bad)
new_lt13(ywz5001, ywz4001, ty_Bool) → new_lt17(ywz5001, ywz4001)
new_lt6(ywz5000, ywz4000) → new_esEs16(new_compare8(ywz5000, ywz4000), LT)
new_esEs28(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_compare112(ywz95, ywz96, False, bdd) → GT
new_compare27(ywz50, ywz40, True, h) → EQ
new_esEs22(ywz5002, ywz4002, ty_Float) → new_esEs10(ywz5002, ywz4002)
new_lt14(ywz5000, ywz4000, ty_@0) → new_lt7(ywz5000, ywz4000)
new_esEs28(ywz5001, ywz4001, app(ty_Ratio, bfb)) → new_esEs11(ywz5001, ywz4001, bfb)
new_esEs26(ywz5000, ywz4000, app(ty_Ratio, bdh)) → new_esEs11(ywz5000, ywz4000, bdh)
new_esEs28(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Char) → new_ltEs6(ywz5001, ywz4001)
new_esEs4(Right(ywz5000), Right(ywz4000), eg, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_compare15(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, ty_Int) → new_compare7(ywz5000, ywz4000)
new_compare111(ywz5000, ywz4000, True, ee, ef) → LT
new_ltEs5(Right(ywz5000), Right(ywz4000), eg, app(ty_Maybe, hg)) → new_ltEs12(ywz5000, ywz4000, hg)
new_compare0([], :(ywz4000, ywz4001), da) → LT
new_primPlusNat1(Zero, Zero) → Zero
new_ltEs19(ywz5002, ywz4002, app(app(ty_@2, bdb), bdc)) → new_ltEs16(ywz5002, ywz4002, bdb, bdc)
new_esEs26(ywz5000, ywz4000, app(app(ty_Either, bdf), bdg)) → new_esEs4(ywz5000, ywz4000, bdf, bdg)
new_asAs(True, ywz102) → ywz102
new_primMulNat0(Succ(ywz500100), Succ(ywz400100)) → new_primPlusNat0(new_primMulNat0(ywz500100, Succ(ywz400100)), ywz400100)
new_esEs26(ywz5000, ywz4000, app(app(app(ty_@3, beb), bec), bed)) → new_esEs5(ywz5000, ywz4000, beb, bec, bed)
new_ltEs17(LT, EQ) → True
new_esEs4(Left(ywz5000), Right(ywz4000), eg, eh) → False
new_esEs4(Right(ywz5000), Left(ywz4000), eg, eh) → False
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Int) → new_ltEs9(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Nothing, be) → False
new_lt20(ywz5000, ywz4000, ty_Bool) → new_lt17(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Char) → new_lt15(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_Maybe, df)) → new_compare13(ywz5000, ywz4000, df)
new_compare24(ywz5000, ywz4000, False, bb, bc, bd) → new_compare110(ywz5000, ywz4000, new_ltEs4(ywz5000, ywz4000, bb, bc, bd), bb, bc, bd)
new_ltEs19(ywz5002, ywz4002, ty_Integer) → new_ltEs13(ywz5002, ywz4002)
new_esEs26(ywz5000, ywz4000, app(app(ty_@2, bee), bef)) → new_esEs6(ywz5000, ywz4000, bee, bef)
new_esEs23(ywz5000, ywz4000, app(app(app(ty_@3, bb), bc), bd)) → new_esEs5(ywz5000, ywz4000, bb, bc, bd)
new_lt4(ywz5000, ywz4000, fg, fh) → new_esEs16(new_compare18(ywz5000, ywz4000, fg, fh), LT)
new_ltEs7(ywz500, ywz400, app(app(app(ty_@3, fa), fb), fc)) → new_ltEs4(ywz500, ywz400, fa, fb, fc)
new_compare10(ywz5000, ywz4000, True) → LT
new_esEs9(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_ltEs17(EQ, GT) → True
new_compare110(ywz5000, ywz4000, False, bb, bc, bd) → GT
new_compare10(ywz5000, ywz4000, False) → GT
new_ltEs20(ywz5001, ywz4001, app(app(ty_@2, bfg), bfh)) → new_ltEs16(ywz5001, ywz4001, bfg, bfh)
new_primCompAux00(ywz280, GT) → GT
new_esEs4(Left(ywz5000), Left(ywz4000), ty_@0, eh) → new_esEs14(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bbc)) → new_esEs11(ywz5001, ywz4001, bbc)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, gf), gg), gh), eh) → new_ltEs4(ywz5000, ywz4000, gf, gg, gh)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs8([], :(ywz4000, ywz4001), da) → False
new_esEs8(:(ywz5000, ywz5001), [], da) → False
new_ltEs5(Right(ywz5000), Right(ywz4000), eg, ty_Integer) → new_ltEs13(ywz5000, ywz4000)
new_ltEs20(ywz5001, ywz4001, app(app(ty_Either, beh), bfa)) → new_ltEs5(ywz5001, ywz4001, beh, bfa)
new_esEs22(ywz5002, ywz4002, app(ty_Ratio, bce)) → new_esEs11(ywz5002, ywz4002, bce)
new_esEs6(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), fd, ff) → new_asAs(new_esEs27(ywz5000, ywz4000, fd), new_esEs28(ywz5001, ywz4001, ff))
new_esEs28(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat2(ywz50000, ywz4000)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs22(ywz5002, ywz4002, app(ty_Maybe, bcf)) → new_esEs7(ywz5002, ywz4002, bcf)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_not(True) → False
new_ltEs7(ywz500, ywz400, app(ty_Maybe, be)) → new_ltEs12(ywz500, ywz400, be)
new_esEs15(False, False) → True

The set Q consists of the following terms:

new_compare6(x0, x1, app(app(ty_@2, x2), x3))
new_sr(x0, x1)
new_lt13(x0, x1, ty_@0)
new_lt9(x0, x1, x2)
new_lt13(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), ty_@0, x2)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs4(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs5(Left(x0), Left(x1), ty_@0, x2)
new_esEs20(x0, x1, ty_Double)
new_lt14(x0, x1, ty_Char)
new_compare25(Double(x0, x1), Double(x2, x3))
new_esEs24(x0, x1, ty_Ordering)
new_esEs28(x0, x1, ty_Int)
new_ltEs5(Right(x0), Right(x1), x2, ty_Int)
new_compare6(x0, x1, ty_Bool)
new_primCmpNat1(Zero, Succ(x0))
new_esEs21(x0, x1, ty_Int)
new_lt16(x0, x1, x2, x3, x4)
new_esEs24(x0, x1, ty_Bool)
new_esEs8(:(x0, x1), [], x2)
new_compare6(x0, x1, app(app(ty_Either, x2), x3))
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(Just(x0), Nothing, x1)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(x0, x1, ty_@0)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, ty_Bool)
new_ltEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_primPlusNat1(Succ(x0), Zero)
new_esEs15(True, True)
new_lt14(x0, x1, app(ty_[], x2))
new_ltEs17(EQ, GT)
new_ltEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs17(GT, EQ)
new_primMulNat0(Succ(x0), Zero)
new_ltEs5(Right(x0), Right(x1), x2, ty_Bool)
new_ltEs7(x0, x1, ty_Integer)
new_primPlusNat0(Succ(x0), x1)
new_ltEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_compare6(x0, x1, ty_Int)
new_esEs4(Left(x0), Right(x1), x2, x3)
new_esEs4(Right(x0), Left(x1), x2, x3)
new_esEs13(Integer(x0), Integer(x1))
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_ltEs15(True, True)
new_compare0([], [], x0)
new_ltEs19(x0, x1, ty_Ordering)
new_compare27(Just(x0), Just(x1), False, x2)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs25(x0, x1, ty_Float)
new_lt19(x0, x1)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_ltEs14(x0, x1)
new_esEs15(False, False)
new_lt8(x0, x1)
new_esEs20(x0, x1, ty_Ordering)
new_esEs18(x0, x1, ty_Int)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_lt13(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs15(False, False)
new_ltEs19(x0, x1, ty_Double)
new_esEs11(:%(x0, x1), :%(x2, x3), x4)
new_lt14(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs12(Just(x0), Just(x1), app(ty_[], x2))
new_esEs16(LT, GT)
new_esEs16(GT, LT)
new_esEs28(x0, x1, ty_@0)
new_compare6(x0, x1, ty_Float)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs4(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_ltEs20(x0, x1, ty_@0)
new_lt20(x0, x1, ty_Bool)
new_esEs28(x0, x1, app(ty_[], x2))
new_compare28(x0, x1, True, x2, x3)
new_lt20(x0, x1, ty_Int)
new_primEqNat0(Succ(x0), Succ(x1))
new_primCmpNat0(Zero, x0)
new_pePe(True, x0)
new_esEs23(x0, x1, ty_Double)
new_lt20(x0, x1, ty_Integer)
new_esEs9(x0, x1)
new_compare7(x0, x1)
new_ltEs19(x0, x1, ty_Float)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Float)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_lt14(x0, x1, app(app(ty_Either, x2), x3))
new_compare210(x0, x1, False)
new_primCmpNat1(Zero, Zero)
new_ltEs16(@2(x0, x1), @2(x2, x3), x4, x5)
new_ltEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_compare26(x0, x1, False, x2, x3)
new_ltEs12(Just(x0), Just(x1), ty_Float)
new_ltEs5(Left(x0), Right(x1), x2, x3)
new_ltEs5(Right(x0), Left(x1), x2, x3)
new_esEs23(x0, x1, ty_Integer)
new_ltEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_ltEs20(x0, x1, ty_Double)
new_compare113(x0, x1, False, x2, x3)
new_esEs21(x0, x1, app(ty_[], x2))
new_compare13(x0, x1, x2)
new_compare27(Nothing, Nothing, False, x0)
new_lt13(x0, x1, ty_Char)
new_ltEs5(Right(x0), Right(x1), x2, ty_Integer)
new_ltEs12(Just(x0), Nothing, x1)
new_esEs24(x0, x1, ty_Float)
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_lt11(x0, x1, x2)
new_esEs10(Float(x0, x1), Float(x2, x3))
new_compare112(x0, x1, True, x2)
new_primEqNat0(Zero, Zero)
new_lt13(x0, x1, app(ty_Ratio, x2))
new_esEs24(x0, x1, ty_Int)
new_ltEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_compare6(x0, x1, app(ty_[], x2))
new_compare113(x0, x1, True, x2, x3)
new_ltEs20(x0, x1, app(ty_[], x2))
new_primCompAux00(x0, GT)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_compare27(Nothing, Just(x0), False, x1)
new_compare10(x0, x1, False)
new_compare111(x0, x1, True, x2, x3)
new_primCompAux00(x0, EQ)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_lt20(x0, x1, app(ty_Ratio, x2))
new_primMulNat0(Zero, Zero)
new_esEs7(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs7(Nothing, Just(x0), x1)
new_compare6(x0, x1, ty_Integer)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs4(Right(x0), Right(x1), x2, ty_Double)
new_lt20(x0, x1, ty_@0)
new_compare28(x0, x1, False, x2, x3)
new_ltEs7(x0, x1, app(ty_[], x2))
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, ty_Char)
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_compare19(x0, x1)
new_esEs25(x0, x1, ty_Int)
new_ltEs5(Left(x0), Left(x1), ty_Double, x2)
new_compare8(Float(x0, x1), Float(x2, x3))
new_esEs16(GT, GT)
new_ltEs5(Right(x0), Right(x1), x2, ty_Float)
new_esEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs7(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs25(x0, x1, ty_Char)
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_ltEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_ltEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_ltEs12(Just(x0), Just(x1), ty_Integer)
new_esEs21(x0, x1, ty_Char)
new_esEs4(Right(x0), Right(x1), x2, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_lt13(x0, x1, ty_Double)
new_esEs4(Right(x0), Right(x1), x2, ty_Float)
new_esEs14(@0, @0)
new_ltEs18(x0, x1)
new_compare27(Just(x0), Nothing, False, x1)
new_primMulInt(Neg(x0), Neg(x1))
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, ty_Float)
new_esEs4(Left(x0), Left(x1), ty_Float, x2)
new_esEs24(x0, x1, ty_Char)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_ltEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_compare6(x0, x1, app(ty_Ratio, x2))
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_esEs6(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs7(Just(x0), Just(x1), ty_Ordering)
new_ltEs20(x0, x1, ty_Integer)
new_compare12(:%(x0, x1), :%(x2, x3), ty_Integer)
new_lt5(x0, x1, x2)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(Left(x0), Left(x1), ty_Integer, x2)
new_esEs21(x0, x1, ty_Double)
new_esEs22(x0, x1, ty_@0)
new_ltEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_compare24(x0, x1, False, x2, x3, x4)
new_compare16(@0, @0)
new_esEs20(x0, x1, ty_@0)
new_esEs8(:(x0, x1), :(x2, x3), x4)
new_pePe(False, x0)
new_gt(x0, x1, x2)
new_ltEs7(x0, x1, ty_Double)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs21(x0, x1, ty_Integer)
new_esEs22(x0, x1, ty_Double)
new_ltEs19(x0, x1, ty_Char)
new_esEs19(x0, x1, ty_Int)
new_compare29(x0, x1, True)
new_compare15(Integer(x0), Integer(x1))
new_compare24(x0, x1, True, x2, x3, x4)
new_compare29(x0, x1, False)
new_primCmpNat2(x0, Zero)
new_compare6(x0, x1, ty_@0)
new_ltEs5(Left(x0), Left(x1), ty_Bool, x2)
new_primPlusNat1(Zero, Zero)
new_ltEs9(x0, x1)
new_compare27(x0, x1, True, x2)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(x0, x1, ty_Ordering)
new_esEs24(x0, x1, ty_Integer)
new_ltEs12(Nothing, Nothing, x0)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs7(x0, x1, app(app(ty_@2, x2), x3))
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare6(x0, x1, ty_Char)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs28(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_esEs24(x0, x1, app(ty_[], x2))
new_ltEs19(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Bool)
new_primCompAux00(x0, LT)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_esEs4(Left(x0), Left(x1), ty_Int, x2)
new_lt20(x0, x1, ty_Ordering)
new_lt10(x0, x1)
new_ltEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs7(x0, x1, ty_Bool)
new_ltEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs23(x0, x1, ty_@0)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, ty_Integer)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs4(Right(x0), Right(x1), x2, ty_Integer)
new_ltEs7(x0, x1, app(ty_Ratio, x2))
new_compare9(x0, x1, x2, x3)
new_lt15(x0, x1)
new_esEs27(x0, x1, ty_Ordering)
new_ltEs15(False, True)
new_ltEs15(True, False)
new_ltEs17(GT, GT)
new_lt14(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Int)
new_lt14(x0, x1, ty_Bool)
new_esEs25(x0, x1, ty_Ordering)
new_ltEs12(Nothing, Just(x0), x1)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_compare0([], :(x0, x1), x2)
new_compare210(x0, x1, True)
new_esEs20(x0, x1, ty_Int)
new_esEs7(Just(x0), Just(x1), ty_Float)
new_ltEs20(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Double)
new_esEs7(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs22(x0, x1, ty_Int)
new_ltEs7(x0, x1, ty_Int)
new_ltEs12(Just(x0), Just(x1), ty_Ordering)
new_esEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_lt18(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Zero, Succ(x0))
new_esEs15(False, True)
new_esEs15(True, False)
new_compare18(x0, x1, x2, x3)
new_ltEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs7(Just(x0), Just(x1), ty_Int)
new_esEs4(Left(x0), Left(x1), ty_Char, x2)
new_compare5(x0, x1, x2, x3, x4)
new_esEs22(x0, x1, ty_Bool)
new_ltEs7(x0, x1, ty_Char)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs4(Right(x0), Right(x1), x2, ty_Bool)
new_lt17(x0, x1)
new_asAs(True, x0)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_ltEs5(Right(x0), Right(x1), x2, ty_Char)
new_esEs27(x0, x1, app(ty_[], x2))
new_ltEs7(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Char)
new_lt20(x0, x1, app(ty_[], x2))
new_esEs16(LT, LT)
new_compare17(x0, x1)
new_compare6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt13(x0, x1, ty_Integer)
new_esEs7(Just(x0), Just(x1), ty_Char)
new_compare26(x0, x1, True, x2, x3)
new_esEs26(x0, x1, ty_Ordering)
new_esEs18(x0, x1, ty_Integer)
new_sr0(Integer(x0), Integer(x1))
new_esEs28(x0, x1, ty_Double)
new_ltEs10(x0, x1)
new_esEs22(x0, x1, ty_Ordering)
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs22(x0, x1, ty_Float)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_compare112(x0, x1, False, x2)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_compare10(x0, x1, True)
new_lt4(x0, x1, x2, x3)
new_lt6(x0, x1)
new_ltEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_lt13(x0, x1, ty_Bool)
new_esEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs22(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, ty_Ordering)
new_lt14(x0, x1, ty_Integer)
new_ltEs12(Just(x0), Just(x1), ty_Double)
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_compare110(x0, x1, False, x2, x3, x4)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_compare110(x0, x1, True, x2, x3, x4)
new_asAs(False, x0)
new_esEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt13(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_@0)
new_lt13(x0, x1, app(app(ty_@2, x2), x3))
new_primPlusNat1(Zero, Succ(x0))
new_ltEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs5(Right(x0), Right(x1), x2, ty_Double)
new_compare6(x0, x1, ty_Ordering)
new_esEs7(Just(x0), Just(x1), ty_Integer)
new_lt13(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs5(Right(x0), Right(x1), x2, ty_@0)
new_ltEs7(x0, x1, app(ty_Maybe, x2))
new_compare14(Char(x0), Char(x1))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs17(LT, GT)
new_ltEs17(GT, LT)
new_esEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs23(x0, x1, ty_Float)
new_lt12(x0, x1, x2, x3)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_compare111(x0, x1, False, x2, x3)
new_ltEs20(x0, x1, ty_Float)
new_esEs12(Char(x0), Char(x1))
new_esEs23(x0, x1, ty_Char)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs28(x0, x1, ty_Ordering)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs27(x0, x1, ty_Int)
new_esEs17(Double(x0, x1), Double(x2, x3))
new_esEs8([], [], x0)
new_primCmpNat1(Succ(x0), Zero)
new_lt14(x0, x1, app(ty_Maybe, x2))
new_ltEs12(Just(x0), Just(x1), ty_Bool)
new_esEs7(Nothing, Nothing, x0)
new_esEs5(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_compare6(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs4(Left(x0), Left(x1), ty_Double, x2)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(x0, x1, ty_Double)
new_esEs27(x0, x1, ty_Double)
new_primCmpNat1(Succ(x0), Succ(x1))
new_primPlusNat1(Succ(x0), Succ(x1))
new_ltEs12(Just(x0), Just(x1), ty_Char)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs7(Just(x0), Just(x1), ty_Double)
new_esEs7(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs11(x0, x1, x2)
new_lt14(x0, x1, app(ty_Ratio, x2))
new_ltEs8(x0, x1, x2)
new_esEs4(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs7(x0, x1, ty_Float)
new_not(True)
new_esEs7(Just(x0), Just(x1), ty_Bool)
new_esEs24(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), ty_Int, x2)
new_esEs16(EQ, LT)
new_esEs16(LT, EQ)
new_ltEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_compare12(:%(x0, x1), :%(x2, x3), ty_Int)
new_primCmpNat0(Succ(x0), x1)
new_esEs16(EQ, EQ)
new_ltEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs21(x0, x1, ty_@0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Double)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_ltEs19(x0, x1, ty_Int)
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_not(False)
new_esEs25(x0, x1, ty_Integer)
new_ltEs12(Just(x0), Just(x1), ty_@0)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, ty_Int)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_Ordering)
new_esEs26(x0, x1, ty_Char)
new_esEs7(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_esEs28(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Bool)
new_primMulNat0(Succ(x0), Succ(x1))
new_lt14(x0, x1, ty_@0)
new_esEs21(x0, x1, ty_Float)
new_ltEs13(x0, x1)
new_compare0(:(x0, x1), [], x2)
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(Right(x0), Right(x1), x2, ty_@0)
new_lt14(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs16(EQ, GT)
new_esEs16(GT, EQ)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_lt7(x0, x1)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_lt13(x0, x1, app(ty_Maybe, x2))
new_ltEs17(LT, EQ)
new_ltEs17(EQ, LT)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_lt14(x0, x1, ty_Int)
new_esEs4(Right(x0), Right(x1), x2, ty_Int)
new_esEs20(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Integer)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs23(x0, x1, ty_Int)
new_ltEs5(Left(x0), Left(x1), ty_Char, x2)
new_esEs26(x0, x1, ty_@0)
new_esEs7(Just(x0), Just(x1), ty_@0)
new_ltEs6(x0, x1)
new_ltEs12(Just(x0), Just(x1), ty_Int)
new_esEs19(x0, x1, ty_Integer)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs24(x0, x1, ty_Double)
new_lt14(x0, x1, ty_Double)
new_lt20(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, ty_Bool)
new_ltEs19(x0, x1, ty_Integer)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_primPlusNat0(Zero, x0)
new_primCompAux0(x0, x1, x2, x3)
new_primEqNat0(Zero, Succ(x0))
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Double)
new_primCmpNat2(x0, Succ(x1))
new_esEs22(x0, x1, ty_Integer)
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_lt13(x0, x1, ty_Float)
new_compare11(x0, x1, False)
new_esEs20(x0, x1, ty_Char)
new_ltEs17(EQ, EQ)
new_esEs22(x0, x1, ty_Char)
new_ltEs17(LT, LT)
new_esEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Bool)
new_esEs8([], :(x0, x1), x2)
new_lt14(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare11(x0, x1, True)
new_esEs28(x0, x1, ty_Bool)
new_ltEs5(Left(x0), Left(x1), ty_Float, x2)
new_esEs7(Just(x0), Just(x1), app(ty_[], x2))
new_lt13(x0, x1, ty_Ordering)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ UsableRulesProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3(ywz50, ywz9, ywz740, ywz741, ywz742, ywz743, ywz744, ywz630, ywz631, ywz632, ywz633, ywz634, h, ba) → new_mkVBalBranch3MkVBalBranch2(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_lt10(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba)), new_mkVBalBranch3Size_r(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba)), h, ba)
new_mkVBalBranch3MkVBalBranch2(ywz60, ywz61, ywz62, Branch(ywz630, ywz631, ywz632, ywz633, ywz634), ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, True, h, ba) → new_mkVBalBranch3MkVBalBranch2(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_lt10(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba)), new_mkVBalBranch3Size_r(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba)), h, ba)
new_mkVBalBranch3MkVBalBranch1(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, Branch(ywz7440, ywz7441, ywz7442, ywz7443, ywz7444), ywz50, ywz9, True, h, ba) → new_mkVBalBranch3(ywz50, ywz9, ywz7440, ywz7441, ywz7442, ywz7443, ywz7444, ywz60, ywz61, ywz62, ywz63, ywz64, h, ba)
new_mkVBalBranch3MkVBalBranch2(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_lt10(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_r(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba)), new_mkVBalBranch3Size_l(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba)), h, ba)

The TRS R consists of the following rules:

new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_primCmpNat1(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat1(ywz500000, ywz400000)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat0(Zero, ywz40000)
new_primCmpNat0(Succ(ywz40000), ywz50000) → new_primCmpNat1(ywz40000, ywz50000)
new_esEs16(GT, EQ) → False
new_esEs16(EQ, GT) → False
new_esEs16(LT, LT) → True
new_primMulInt(Pos(ywz50010), Pos(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_mkVBalBranch3Size_r(ywz60, ywz61, ywz62, ywz63, ywz64, ywz70, ywz71, ywz72, ywz73, ywz74, h, ba) → new_sizeFM(ywz60, ywz61, ywz62, ywz63, ywz64, h, ba)
new_primPlusNat1(Succ(ywz19500), Succ(ywz4001000)) → Succ(Succ(new_primPlusNat1(ywz19500, ywz4001000)))
new_primMulInt(Pos(ywz50010), Neg(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Neg(ywz50010), Pos(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulNat0(Zero, Succ(ywz400100)) → Zero
new_primMulNat0(Succ(ywz500100), Zero) → Zero
new_primMulInt(Neg(ywz50010), Neg(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_esEs16(GT, GT) → True
new_esEs16(EQ, EQ) → True
new_primCmpNat2(ywz50000, Zero) → GT
new_primPlusNat1(Zero, Zero) → Zero
new_esEs16(GT, LT) → False
new_esEs16(LT, GT) → False
new_primCmpNat1(Zero, Succ(ywz400000)) → LT
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primMulNat0(Succ(ywz500100), Succ(ywz400100)) → new_primPlusNat0(new_primMulNat0(ywz500100, Succ(ywz400100)), ywz400100)
new_primCmpNat0(Zero, ywz50000) → LT
new_sr(ywz5001, ywz4001) → new_primMulInt(ywz5001, ywz4001)
new_compare7(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_primCmpNat1(Zero, Zero) → EQ
new_primMulNat0(Zero, Zero) → Zero
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat2(ywz40000, Zero)
new_primPlusNat0(Succ(ywz1950), ywz400100) → Succ(Succ(new_primPlusNat1(ywz1950, ywz400100)))
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_primPlusNat0(Zero, ywz400100) → Succ(ywz400100)
new_primCmpNat1(Succ(ywz500000), Zero) → GT
new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_mkVBalBranch3Size_l(ywz60, ywz61, ywz62, ywz63, ywz64, ywz70, ywz71, ywz72, ywz73, ywz74, h, ba) → new_sizeFM(ywz70, ywz71, ywz72, ywz73, ywz74, h, ba)
new_esEs16(EQ, LT) → False
new_esEs16(LT, EQ) → False
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_lt10(ywz5000, ywz4000) → new_esEs16(new_compare7(ywz5000, ywz4000), LT)
new_primPlusNat1(Zero, Succ(ywz4001000)) → Succ(ywz4001000)
new_primPlusNat1(Succ(ywz19500), Zero) → Succ(ywz19500)
new_sizeFM(ywz70, ywz71, ywz72, ywz73, ywz74, h, ba) → ywz72
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat2(ywz50000, ywz4000)
new_primCmpNat2(ywz50000, Succ(ywz40000)) → new_primCmpNat1(ywz50000, ywz40000)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat0(ywz4000, ywz50000)

The set Q consists of the following terms:

new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_sr(x0, x1)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_esEs16(EQ, GT)
new_esEs16(GT, EQ)
new_esEs16(GT, LT)
new_esEs16(LT, GT)
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primMulNat0(Zero, Zero)
new_primCmpNat1(Succ(x0), Zero)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpNat1(Zero, Succ(x0))
new_primCmpNat0(Zero, x0)
new_primCmpNat1(Succ(x0), Succ(x1))
new_primPlusNat1(Succ(x0), Succ(x1))
new_compare7(x0, x1)
new_primCmpNat2(x0, Zero)
new_primPlusNat1(Zero, Zero)
new_primCmpNat1(Zero, Zero)
new_sIZE_RATIO
new_esEs16(GT, GT)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs16(LT, EQ)
new_esEs16(EQ, LT)
new_primPlusNat0(Zero, x0)
new_primMulNat0(Zero, Succ(x0))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primPlusNat1(Succ(x0), Zero)
new_esEs16(EQ, EQ)
new_primCmpNat0(Succ(x0), x1)
new_primPlusNat1(Zero, Succ(x0))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpNat2(x0, Succ(x1))
new_primMulNat0(Succ(x0), Zero)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primPlusNat0(Succ(x0), x1)
new_primMulInt(Neg(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_esEs16(LT, LT)
new_primMulInt(Pos(x0), Pos(x1))
new_lt10(x0, x1)
new_primMulNat0(Succ(x0), Succ(x1))

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ UsableRulesProof
QDP
                                        ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3(ywz50, ywz9, ywz740, ywz741, ywz742, ywz743, ywz744, ywz630, ywz631, ywz632, ywz633, ywz634, h, ba) → new_mkVBalBranch3MkVBalBranch2(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_lt10(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba)), new_mkVBalBranch3Size_r(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba)), h, ba)
new_mkVBalBranch3MkVBalBranch2(ywz60, ywz61, ywz62, Branch(ywz630, ywz631, ywz632, ywz633, ywz634), ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, True, h, ba) → new_mkVBalBranch3MkVBalBranch2(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_lt10(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba)), new_mkVBalBranch3Size_r(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba)), h, ba)
new_mkVBalBranch3MkVBalBranch1(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, Branch(ywz7440, ywz7441, ywz7442, ywz7443, ywz7444), ywz50, ywz9, True, h, ba) → new_mkVBalBranch3(ywz50, ywz9, ywz7440, ywz7441, ywz7442, ywz7443, ywz7444, ywz60, ywz61, ywz62, ywz63, ywz64, h, ba)
new_mkVBalBranch3MkVBalBranch2(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_lt10(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_r(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba)), new_mkVBalBranch3Size_l(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba)), h, ba)

The TRS R consists of the following rules:

new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_mkVBalBranch3Size_l(ywz60, ywz61, ywz62, ywz63, ywz64, ywz70, ywz71, ywz72, ywz73, ywz74, h, ba) → new_sizeFM(ywz70, ywz71, ywz72, ywz73, ywz74, h, ba)
new_sr(ywz5001, ywz4001) → new_primMulInt(ywz5001, ywz4001)
new_mkVBalBranch3Size_r(ywz60, ywz61, ywz62, ywz63, ywz64, ywz70, ywz71, ywz72, ywz73, ywz74, h, ba) → new_sizeFM(ywz60, ywz61, ywz62, ywz63, ywz64, h, ba)
new_lt10(ywz5000, ywz4000) → new_esEs16(new_compare7(ywz5000, ywz4000), LT)
new_compare7(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_esEs16(LT, LT) → True
new_esEs16(GT, LT) → False
new_esEs16(EQ, LT) → False
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat0(Zero, ywz40000)
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat2(ywz40000, Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat2(ywz50000, ywz4000)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat0(ywz4000, ywz50000)
new_primCmpNat0(Succ(ywz40000), ywz50000) → new_primCmpNat1(ywz40000, ywz50000)
new_primCmpNat0(Zero, ywz50000) → LT
new_primCmpNat1(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat1(ywz500000, ywz400000)
new_primCmpNat1(Zero, Succ(ywz400000)) → LT
new_primCmpNat1(Zero, Zero) → EQ
new_primCmpNat1(Succ(ywz500000), Zero) → GT
new_primCmpNat2(ywz50000, Zero) → GT
new_primCmpNat2(ywz50000, Succ(ywz40000)) → new_primCmpNat1(ywz50000, ywz40000)
new_sizeFM(ywz70, ywz71, ywz72, ywz73, ywz74, h, ba) → ywz72
new_primMulInt(Pos(ywz50010), Pos(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Pos(ywz50010), Neg(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Neg(ywz50010), Pos(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Neg(ywz50010), Neg(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_primMulNat0(Zero, Succ(ywz400100)) → Zero
new_primMulNat0(Succ(ywz500100), Zero) → Zero
new_primMulNat0(Succ(ywz500100), Succ(ywz400100)) → new_primPlusNat0(new_primMulNat0(ywz500100, Succ(ywz400100)), ywz400100)
new_primMulNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(ywz1950), ywz400100) → Succ(Succ(new_primPlusNat1(ywz1950, ywz400100)))
new_primPlusNat0(Zero, ywz400100) → Succ(ywz400100)
new_primPlusNat1(Succ(ywz19500), Succ(ywz4001000)) → Succ(Succ(new_primPlusNat1(ywz19500, ywz4001000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(ywz4001000)) → Succ(ywz4001000)
new_primPlusNat1(Succ(ywz19500), Zero) → Succ(ywz19500)

The set Q consists of the following terms:

new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_sr(x0, x1)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_esEs16(EQ, GT)
new_esEs16(GT, EQ)
new_esEs16(GT, LT)
new_esEs16(LT, GT)
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primMulNat0(Zero, Zero)
new_primCmpNat1(Succ(x0), Zero)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpNat1(Zero, Succ(x0))
new_primCmpNat0(Zero, x0)
new_primCmpNat1(Succ(x0), Succ(x1))
new_primPlusNat1(Succ(x0), Succ(x1))
new_compare7(x0, x1)
new_primCmpNat2(x0, Zero)
new_primPlusNat1(Zero, Zero)
new_primCmpNat1(Zero, Zero)
new_sIZE_RATIO
new_esEs16(GT, GT)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs16(LT, EQ)
new_esEs16(EQ, LT)
new_primPlusNat0(Zero, x0)
new_primMulNat0(Zero, Succ(x0))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primPlusNat1(Succ(x0), Zero)
new_esEs16(EQ, EQ)
new_primCmpNat0(Succ(x0), x1)
new_primPlusNat1(Zero, Succ(x0))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpNat2(x0, Succ(x1))
new_primMulNat0(Succ(x0), Zero)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primPlusNat0(Succ(x0), x1)
new_primMulInt(Neg(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_esEs16(LT, LT)
new_primMulInt(Pos(x0), Pos(x1))
new_lt10(x0, x1)
new_primMulNat0(Succ(x0), Succ(x1))

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ DependencyGraphProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_splitGT2(ywz400, ywz41, ywz42, ywz43, Branch(ywz440, ywz441, ywz442, ywz443, ywz444), True, h, ba) → new_splitGT3(ywz440, ywz441, ywz442, ywz443, ywz444, Nothing, h, ba)
new_splitGT11(ywz41, ywz42, ywz43, ywz44, ywz500, True, h, ba) → new_splitGT0(ywz43, ywz500, h, ba)
new_splitGT20(ywz41, ywz42, ywz43, ywz44, ywz500, False, h, ba) → new_splitGT11(ywz41, ywz42, ywz43, ywz44, ywz500, new_lt5(Just(ywz500), Nothing, h), h, ba)
new_splitGT0(Branch(ywz440, ywz441, ywz442, ywz443, ywz444), ywz500, h, ba) → new_splitGT3(ywz440, ywz441, ywz442, ywz443, ywz444, Just(ywz500), h, ba)
new_splitGT(Branch(ywz440, ywz441, ywz442, ywz443, ywz444), h, ba) → new_splitGT3(ywz440, ywz441, ywz442, ywz443, ywz444, Nothing, h, ba)
new_splitGT1(ywz41, ywz42, ywz43, ywz44, True, h, ba) → new_splitGT(ywz43, h, ba)
new_splitGT3(Just(ywz400), ywz41, ywz42, ywz43, ywz44, Just(ywz500), h, ba) → new_splitGT21(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs16(new_compare27(Just(ywz500), Just(ywz400), new_esEs29(ywz500, ywz400, h), h), GT), h, ba)
new_splitGT20(ywz41, ywz42, ywz43, Branch(ywz440, ywz441, ywz442, ywz443, ywz444), ywz500, True, h, ba) → new_splitGT3(ywz440, ywz441, ywz442, ywz443, ywz444, Just(ywz500), h, ba)
new_splitGT3(Nothing, ywz41, ywz42, ywz43, ywz44, Nothing, h, ba) → new_splitGT1(ywz41, ywz42, ywz43, ywz44, new_lt5(Nothing, Nothing, h), h, ba)
new_splitGT3(Just(ywz400), ywz41, ywz42, ywz43, ywz44, Nothing, h, ba) → new_splitGT2(ywz400, ywz41, ywz42, ywz43, ywz44, new_esEs16(new_compare27(Nothing, Just(ywz400), False, h), GT), h, ba)
new_splitGT10(ywz400, ywz41, ywz42, ywz43, ywz44, True, h, ba) → new_splitGT(ywz43, h, ba)
new_splitGT12(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, True, bb, bc) → new_splitGT0(ywz36, ywz38, bb, bc)
new_splitGT3(Nothing, ywz41, ywz42, ywz43, ywz44, Just(ywz500), h, ba) → new_splitGT20(ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs16(new_compare27(Just(ywz500), Nothing, False, h), GT), h, ba)
new_splitGT21(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, True, bb, bc) → new_splitGT0(ywz37, ywz38, bb, bc)
new_splitGT21(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, False, bb, bc) → new_splitGT12(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, new_lt5(Just(ywz38), Just(ywz33), bb), bb, bc)
new_splitGT2(ywz400, ywz41, ywz42, ywz43, ywz44, False, h, ba) → new_splitGT10(ywz400, ywz41, ywz42, ywz43, ywz44, new_lt5(Nothing, Just(ywz400), h), h, ba)

The TRS R consists of the following rules:

new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(ty_@2, hc), hd), fb) → new_ltEs16(ywz5000, ywz4000, hc, hd)
new_esEs26(ywz5000, ywz4000, app(ty_[], bdg)) → new_esEs8(ywz5000, ywz4000, bdg)
new_esEs23(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs22(ywz5002, ywz4002, ty_Double) → new_esEs17(ywz5002, ywz4002)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_Maybe, cd)) → new_esEs7(ywz5000, ywz4000, cd)
new_ltEs7(ywz500, ywz400, app(ty_Ratio, ef)) → new_ltEs11(ywz500, ywz400, ef)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_esEs7(ywz5000, ywz4000, bba)
new_compare112(ywz95, ywz96, True, bdf) → LT
new_ltEs19(ywz5002, ywz4002, app(ty_[], bcd)) → new_ltEs8(ywz5002, ywz4002, bcd)
new_compare6(ywz5000, ywz4000, ty_Double) → new_compare25(ywz5000, ywz4000)
new_esEs16(EQ, GT) → False
new_esEs16(GT, EQ) → False
new_ltEs19(ywz5002, ywz4002, app(ty_Ratio, bcg)) → new_ltEs11(ywz5002, ywz4002, bcg)
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, bcb), bcc)) → new_esEs6(ywz5001, ywz4001, bcb, bcc)
new_ltEs20(ywz5001, ywz4001, ty_Int) → new_ltEs9(ywz5001, ywz4001)
new_ltEs15(True, False) → False
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs17(LT, LT) → True
new_esEs25(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(app(app(ty_@3, bbg), bbh), bca)) → new_esEs5(ywz5001, ywz4001, bbg, bbh, bca)
new_compare6(ywz5000, ywz4000, app(app(ty_@2, ed), ee)) → new_compare18(ywz5000, ywz4000, ed, ee)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Int) → new_ltEs9(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_[], dd)) → new_compare0(ywz5000, ywz4000, dd)
new_ltEs7(ywz500, ywz400, app(ty_[], dc)) → new_ltEs8(ywz500, ywz400, dc)
new_lt20(ywz5000, ywz4000, ty_Int) → new_lt10(ywz5000, ywz4000)
new_esEs29(ywz500, ywz400, ty_Integer) → new_esEs13(ywz500, ywz400)
new_compare6(ywz5000, ywz4000, ty_Integer) → new_compare15(ywz5000, ywz4000)
new_primCmpNat1(Zero, Succ(ywz400000)) → LT
new_lt14(ywz5000, ywz4000, app(app(ty_@2, ga), gb)) → new_lt4(ywz5000, ywz4000, ga, gb)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_lt19(ywz5000, ywz4000) → new_esEs16(new_compare25(ywz5000, ywz4000), LT)
new_esEs26(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_[], bh)) → new_esEs8(ywz5000, ywz4000, bh)
new_compare27(Just(ywz500), Just(ywz400), False, h) → new_compare112(ywz500, ywz400, new_ltEs7(ywz500, ywz400, h), h)
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_esEs7(ywz5000, ywz4000, bec)
new_esEs29(ywz500, ywz400, ty_Int) → new_esEs9(ywz500, ywz400)
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, app(app(ty_Either, eg), eh)) → new_lt12(ywz5000, ywz4000, eg, eh)
new_esEs22(ywz5002, ywz4002, ty_Char) → new_esEs12(ywz5002, ywz4002)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Double) → new_ltEs18(ywz5000, ywz4000)
new_esEs29(ywz500, ywz400, ty_Ordering) → new_esEs16(ywz500, ywz400)
new_ltEs10(ywz500, ywz400) → new_not(new_esEs16(new_compare8(ywz500, ywz400), GT))
new_ltEs12(Nothing, Nothing, bg) → True
new_primMulNat0(Zero, Zero) → Zero
new_esEs24(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs8(:(ywz5000, ywz5001), :(ywz4000, ywz4001), dc) → new_asAs(new_esEs25(ywz5000, ywz4000, dc), new_esEs8(ywz5001, ywz4001, dc))
new_lt13(ywz5001, ywz4001, ty_@0) → new_lt7(ywz5001, ywz4001)
new_lt20(ywz5000, ywz4000, ty_@0) → new_lt7(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Int, fb) → new_ltEs9(ywz5000, ywz4000)
new_compare29(ywz5000, ywz4000, True) → EQ
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(ty_[], he)) → new_esEs8(ywz5000, ywz4000, he)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs5(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), fc, fd, ff) → new_asAs(new_esEs20(ywz5000, ywz4000, fc), new_asAs(new_esEs21(ywz5001, ywz4001, fd), new_esEs22(ywz5002, ywz4002, ff)))
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(ty_[], he)) → new_ltEs8(ywz5000, ywz4000, he)
new_lt20(ywz5000, ywz4000, ty_Float) → new_lt6(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_Char) → new_ltEs6(ywz500, ywz400)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Integer) → new_ltEs13(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Float) → new_ltEs10(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(ty_Either, bdh), bea)) → new_lt12(ywz5000, ywz4000, bdh, bea)
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs29(ywz500, ywz400, app(app(ty_Either, fa), fb)) → new_esEs4(ywz500, ywz400, fa, fb)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_compare16(@0, @0) → EQ
new_compare29(ywz5000, ywz4000, False) → new_compare11(ywz5000, ywz4000, new_ltEs17(ywz5000, ywz4000))
new_esEs29(ywz500, ywz400, app(ty_Maybe, bg)) → new_esEs7(ywz500, ywz400, bg)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_Ratio, cc)) → new_esEs11(ywz5000, ywz4000, cc)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, eg), eh)) → new_esEs4(ywz5000, ywz4000, eg, eh)
new_esEs19(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(ty_@2, hc), hd), fb) → new_esEs6(ywz5000, ywz4000, hc, hd)
new_compare9(ywz5000, ywz4000, eg, eh) → new_compare26(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, eg, eh), eg, eh)
new_ltEs5(Left(ywz5000), Right(ywz4000), fa, fb) → True
new_lt14(ywz5000, ywz4000, ty_Int) → new_lt10(ywz5000, ywz4000)
new_compare0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), dc) → new_primCompAux0(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, dc), dc)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(ty_@2, da), db)) → new_esEs6(ywz5000, ywz4000, da, db)
new_ltEs7(ywz500, ywz400, ty_Double) → new_ltEs18(ywz500, ywz400)
new_primCmpNat1(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat1(ywz500000, ywz400000)
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(app(ty_Either, hf), hg)) → new_ltEs5(ywz5000, ywz4000, hf, hg)
new_lt14(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_lt5(ywz5000, ywz4000, bba)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Float, fb) → new_ltEs10(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, app(ty_Maybe, bch)) → new_ltEs12(ywz5002, ywz4002, bch)
new_ltEs13(ywz500, ywz400) → new_not(new_esEs16(new_compare15(ywz500, ywz400), GT))
new_compare6(ywz5000, ywz4000, ty_@0) → new_compare16(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, ga), gb)) → new_esEs6(ywz5000, ywz4000, ga, gb)
new_esEs28(ywz5001, ywz4001, app(app(app(ty_@3, bff), bfg), bfh)) → new_esEs5(ywz5001, ywz4001, bff, bfg, bfh)
new_esEs22(ywz5002, ywz4002, app(ty_[], bcd)) → new_esEs8(ywz5002, ywz4002, bcd)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_ltEs9(ywz500, ywz400) → new_not(new_esEs16(new_compare7(ywz500, ywz400), GT))
new_ltEs5(Right(ywz5000), Left(ywz4000), fa, fb) → False
new_ltEs19(ywz5002, ywz4002, ty_Char) → new_ltEs6(ywz5002, ywz4002)
new_ltEs17(EQ, LT) → False
new_pePe(False, ywz175) → ywz175
new_esEs27(ywz5000, ywz4000, app(ty_[], bdg)) → new_esEs8(ywz5000, ywz4000, bdg)
new_esEs25(ywz5000, ywz4000, app(app(ty_Either, de), df)) → new_esEs4(ywz5000, ywz4000, de, df)
new_esEs15(True, False) → False
new_esEs15(False, True) → False
new_ltEs15(True, True) → True
new_ltEs19(ywz5002, ywz4002, ty_Float) → new_ltEs10(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, app(app(ty_Either, bce), bcf)) → new_esEs4(ywz5002, ywz4002, bce, bcf)
new_compare6(ywz5000, ywz4000, ty_Bool) → new_compare17(ywz5000, ywz4000)
new_ltEs15(False, True) → True
new_esEs26(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(ty_Maybe, bbf)) → new_esEs7(ywz5001, ywz4001, bbf)
new_lt13(ywz5001, ywz4001, ty_Integer) → new_lt8(ywz5001, ywz4001)
new_esEs23(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_esEs7(ywz5000, ywz4000, bba)
new_esEs10(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs9(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Integer, fb) → new_ltEs13(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_Ratio, cc)) → new_ltEs11(ywz5000, ywz4000, cc)
new_ltEs15(False, False) → True
new_esEs26(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_lt17(ywz5000, ywz4000) → new_esEs16(new_compare17(ywz5000, ywz4000), LT)
new_compare27(Nothing, Just(ywz400), False, h) → LT
new_esEs20(ywz5000, ywz4000, app(ty_[], bag)) → new_esEs8(ywz5000, ywz4000, bag)
new_esEs25(ywz5000, ywz4000, app(app(ty_@2, ed), ee)) → new_esEs6(ywz5000, ywz4000, ed, ee)
new_compare14(Char(ywz5000), Char(ywz4000)) → new_primCmpNat1(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Char, fb) → new_ltEs6(ywz5000, ywz4000)
new_compare18(ywz5000, ywz4000, ga, gb) → new_compare28(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, ga, gb), ga, gb)
new_esEs25(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Char, fb) → new_esEs12(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, app(app(app(ty_@3, bda), bdb), bdc)) → new_ltEs4(ywz5002, ywz4002, bda, bdb, bdc)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(ty_@2, da), db)) → new_ltEs16(ywz5000, ywz4000, da, db)
new_lt14(ywz5000, ywz4000, ty_Char) → new_lt15(ywz5000, ywz4000)
new_lt5(ywz50, ywz40, h) → new_esEs16(new_compare13(ywz50, ywz40, h), LT)
new_esEs28(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, app(app(ty_@2, bcb), bcc)) → new_esEs6(ywz5001, ywz4001, bcb, bcc)
new_compare0([], [], dc) → EQ
new_pePe(True, ywz175) → True
new_primEqNat0(Zero, Zero) → True
new_esEs19(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs14(@0, @0) → True
new_compare111(ywz5000, ywz4000, False, eg, eh) → GT
new_esEs28(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_compare17(ywz5000, ywz4000) → new_compare210(ywz5000, ywz4000, new_esEs15(ywz5000, ywz4000))
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_[], bh)) → new_ltEs8(ywz5000, ywz4000, bh)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_@0) → new_ltEs14(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_@0, fb) → new_ltEs14(ywz5000, ywz4000)
new_esEs16(LT, GT) → False
new_esEs16(GT, LT) → False
new_lt20(ywz5000, ywz4000, app(ty_[], bdg)) → new_lt9(ywz5000, ywz4000, bdg)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_ltEs17(GT, LT) → False
new_sr(ywz5001, ywz4001) → new_primMulInt(ywz5001, ywz4001)
new_compare7(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_primCmpNat1(Zero, Zero) → EQ
new_ltEs7(ywz500, ywz400, ty_Integer) → new_ltEs13(ywz500, ywz400)
new_esEs24(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Int, fb) → new_esEs9(ywz5000, ywz4000)
new_ltEs20(ywz5001, ywz4001, app(ty_Ratio, bfd)) → new_ltEs11(ywz5001, ywz4001, bfd)
new_primPlusNat0(Succ(ywz1950), ywz400100) → Succ(Succ(new_primPlusNat1(ywz1950, ywz400100)))
new_ltEs11(ywz500, ywz400, ef) → new_not(new_esEs16(new_compare12(ywz500, ywz400, ef), GT))
new_ltEs19(ywz5002, ywz4002, ty_Bool) → new_ltEs15(ywz5002, ywz4002)
new_lt14(ywz5000, ywz4000, app(ty_Ratio, bah)) → new_lt11(ywz5000, ywz4000, bah)
new_esEs28(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs13(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_primCmpNat1(Succ(ywz500000), Zero) → GT
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(app(ty_Either, hf), hg)) → new_esEs4(ywz5000, ywz4000, hf, hg)
new_compare24(ywz5000, ywz4000, True, bd, be, bf) → EQ
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Ordering, fb) → new_ltEs17(ywz5000, ywz4000)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_ltEs20(ywz5001, ywz4001, app(app(app(ty_@3, bff), bfg), bfh)) → new_ltEs4(ywz5001, ywz4001, bff, bfg, bfh)
new_esEs24(ywz5001, ywz4001, app(ty_Ratio, bbe)) → new_esEs11(ywz5001, ywz4001, bbe)
new_lt20(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_lt11(ywz5000, ywz4000, beb)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs15(True, True) → True
new_compare113(ywz5000, ywz4000, True, ga, gb) → LT
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(ty_Either, gd), ge), fb) → new_esEs4(ywz5000, ywz4000, gd, ge)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, gh), ha), hb), fb) → new_esEs5(ywz5000, ywz4000, gh, ha, hb)
new_primCompAux0(ywz5000, ywz4000, ywz228, dc) → new_primCompAux00(ywz228, new_compare6(ywz5000, ywz4000, dc))
new_ltEs17(LT, GT) → True
new_primPlusNat1(Succ(ywz19500), Zero) → Succ(ywz19500)
new_primPlusNat1(Zero, Succ(ywz4001000)) → Succ(ywz4001000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Ordering) → new_ltEs17(ywz5000, ywz4000)
new_compare27(Just(ywz500), Nothing, False, h) → GT
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Float) → new_ltEs10(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_@0) → new_ltEs14(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_Ratio, dg)) → new_compare12(ywz5000, ywz4000, dg)
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, app(ty_[], bfa)) → new_esEs8(ywz5001, ywz4001, bfa)
new_lt13(ywz5001, ywz4001, ty_Float) → new_lt6(ywz5001, ywz4001)
new_compare27(Nothing, Nothing, False, h) → LT
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_lt18(ywz5000, ywz4000) → new_esEs16(new_compare19(ywz5000, ywz4000), LT)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_Ratio, gf), fb) → new_esEs11(ywz5000, ywz4000, gf)
new_compare6(ywz5000, ywz4000, ty_Char) → new_compare14(ywz5000, ywz4000)
new_primCmpNat0(Succ(ywz40000), ywz50000) → new_primCmpNat1(ywz40000, ywz50000)
new_esEs8([], [], dc) → True
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_lt20(ywz5000, ywz4000, ty_Integer) → new_lt8(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, ty_Ordering) → new_lt18(ywz5000, ywz4000)
new_compare26(ywz5000, ywz4000, True, eg, eh) → EQ
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Char) → new_ltEs6(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bbc), bbd)) → new_esEs4(ywz5001, ywz4001, bbc, bbd)
new_esEs22(ywz5002, ywz4002, app(app(app(ty_@3, bda), bdb), bdc)) → new_esEs5(ywz5002, ywz4002, bda, bdb, bdc)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_lt5(ywz5000, ywz4000, bec)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_ltEs17(EQ, EQ) → True
new_ltEs20(ywz5001, ywz4001, app(ty_[], bfa)) → new_ltEs8(ywz5001, ywz4001, bfa)
new_ltEs19(ywz5002, ywz4002, ty_Ordering) → new_ltEs17(ywz5002, ywz4002)
new_compare12(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare7(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_lt13(ywz5001, ywz4001, ty_Char) → new_lt15(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_Maybe, gg), fb) → new_ltEs12(ywz5000, ywz4000, gg)
new_esEs23(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_@0) → new_ltEs14(ywz500, ywz400)
new_ltEs8(ywz500, ywz400, dc) → new_not(new_esEs16(new_compare0(ywz500, ywz400, dc), GT))
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(ty_Either, gd), ge), fb) → new_ltEs5(ywz5000, ywz4000, gd, ge)
new_compare19(ywz5000, ywz4000) → new_compare29(ywz5000, ywz4000, new_esEs16(ywz5000, ywz4000))
new_lt15(ywz5000, ywz4000) → new_esEs16(new_compare14(ywz5000, ywz4000), LT)
new_esEs25(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(ty_[], dd)) → new_esEs8(ywz5000, ywz4000, dd)
new_lt9(ywz5000, ywz4000, bag) → new_esEs16(new_compare0(ywz5000, ywz4000, bag), LT)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_Ratio, gf), fb) → new_ltEs11(ywz5000, ywz4000, gf)
new_lt14(ywz5000, ywz4000, ty_Double) → new_lt19(ywz5000, ywz4000)
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_lt14(ywz5000, ywz4000, app(app(app(ty_@3, bd), be), bf)) → new_lt16(ywz5000, ywz4000, bd, be, bf)
new_esEs23(ywz5000, ywz4000, app(ty_[], bag)) → new_esEs8(ywz5000, ywz4000, bag)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Ordering, fb) → new_esEs16(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, app(app(ty_@2, fg), fh)) → new_ltEs16(ywz500, ywz400, fg, fh)
new_ltEs7(ywz500, ywz400, ty_Float) → new_ltEs10(ywz500, ywz400)
new_compare113(ywz5000, ywz4000, False, ga, gb) → GT
new_lt14(ywz5000, ywz4000, ty_Float) → new_lt6(ywz5000, ywz4000)
new_ltEs4(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), fc, fd, ff) → new_pePe(new_lt14(ywz5000, ywz4000, fc), new_asAs(new_esEs23(ywz5000, ywz4000, fc), new_pePe(new_lt13(ywz5001, ywz4001, fd), new_asAs(new_esEs24(ywz5001, ywz4001, fd), new_ltEs19(ywz5002, ywz4002, ff)))))
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_ltEs17(ywz5000, ywz4000)
new_primCompAux00(ywz280, LT) → LT
new_esEs23(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_esEs5(ywz5000, ywz4000, bed, bee, bef)
new_esEs7(Nothing, Nothing, bg) → True
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_esEs29(ywz500, ywz400, app(ty_[], dc)) → new_esEs8(ywz500, ywz400, dc)
new_esEs22(ywz5002, ywz4002, ty_Integer) → new_esEs13(ywz5002, ywz4002)
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, app(ty_Maybe, bfe)) → new_ltEs12(ywz5001, ywz4001, bfe)
new_ltEs20(ywz5001, ywz4001, ty_Integer) → new_ltEs13(ywz5001, ywz4001)
new_compare5(ywz5000, ywz4000, bd, be, bf) → new_compare24(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bd, be, bf), bd, be, bf)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Double, fb) → new_esEs17(ywz5000, ywz4000)
new_compare8(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare7(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs17(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs9(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(app(app(ty_@3, bab), bac), bad)) → new_esEs5(ywz5000, ywz4000, bab, bac, bad)
new_lt20(ywz5000, ywz4000, app(app(ty_@2, beg), beh)) → new_lt4(ywz5000, ywz4000, beg, beh)
new_lt12(ywz5000, ywz4000, eg, eh) → new_esEs16(new_compare9(ywz5000, ywz4000, eg, eh), LT)
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_ltEs20(ywz5001, ywz4001, ty_@0) → new_ltEs14(ywz5001, ywz4001)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(app(app(ty_@3, bab), bac), bad)) → new_ltEs4(ywz5000, ywz4000, bab, bac, bad)
new_sr0(Integer(ywz40000), Integer(ywz50010)) → Integer(new_primMulInt(ywz40000, ywz50010))
new_primPlusNat1(Succ(ywz19500), Succ(ywz4001000)) → Succ(Succ(new_primPlusNat1(ywz19500, ywz4001000)))
new_lt13(ywz5001, ywz4001, app(ty_Maybe, bbf)) → new_lt5(ywz5001, ywz4001, bbf)
new_compare28(ywz5000, ywz4000, True, ga, gb) → EQ
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_Maybe, cd)) → new_ltEs12(ywz5000, ywz4000, cd)
new_esEs7(Just(ywz5000), Nothing, bg) → False
new_esEs7(Nothing, Just(ywz4000), bg) → False
new_esEs25(ywz5000, ywz4000, app(ty_Ratio, dg)) → new_esEs11(ywz5000, ywz4000, dg)
new_compare6(ywz5000, ywz4000, app(app(ty_Either, de), df)) → new_compare9(ywz5000, ywz4000, de, df)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, ce), cf), cg)) → new_ltEs4(ywz5000, ywz4000, ce, cf, cg)
new_ltEs20(ywz5001, ywz4001, ty_Double) → new_ltEs18(ywz5001, ywz4001)
new_esEs29(ywz500, ywz400, ty_@0) → new_esEs14(ywz500, ywz400)
new_esEs25(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs22(ywz5002, ywz4002, app(app(ty_@2, bdd), bde)) → new_esEs6(ywz5002, ywz4002, bdd, bde)
new_esEs26(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_esEs11(ywz5000, ywz4000, beb)
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primCompAux00(ywz280, EQ) → ywz280
new_esEs23(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_lt11(ywz5000, ywz4000, bah) → new_esEs16(new_compare12(ywz5000, ywz4000, bah), LT)
new_esEs25(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_primCmpNat0(Zero, ywz50000) → LT
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, ty_Double) → new_ltEs18(ywz5002, ywz4002)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, app(ty_[], bbb)) → new_lt9(ywz5001, ywz4001, bbb)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Bool) → new_ltEs15(ywz5000, ywz4000)
new_ltEs14(ywz500, ywz400) → new_not(new_esEs16(new_compare16(ywz500, ywz400), GT))
new_compare6(ywz5000, ywz4000, ty_Float) → new_compare8(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(ty_Ratio, hh)) → new_ltEs11(ywz5000, ywz4000, hh)
new_ltEs6(ywz500, ywz400) → new_not(new_esEs16(new_compare14(ywz500, ywz400), GT))
new_esEs12(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, app(app(ty_Either, bbc), bbd)) → new_lt12(ywz5001, ywz4001, bbc, bbd)
new_not(False) → True
new_esEs23(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs18(ywz500, ywz400) → new_not(new_esEs16(new_compare25(ywz500, ywz400), GT))
new_primPlusNat0(Zero, ywz400100) → Succ(ywz400100)
new_esEs23(ywz5000, ywz4000, app(app(ty_@2, ga), gb)) → new_esEs6(ywz5000, ywz4000, ga, gb)
new_compare210(ywz5000, ywz4000, False) → new_compare10(ywz5000, ywz4000, new_ltEs15(ywz5000, ywz4000))
new_esEs11(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ef) → new_asAs(new_esEs18(ywz5000, ywz4000, ef), new_esEs19(ywz5001, ywz4001, ef))
new_esEs16(LT, EQ) → False
new_esEs16(EQ, LT) → False
new_esEs25(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(ty_[], bbb)) → new_esEs8(ywz5001, ywz4001, bbb)
new_compare25(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare7(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Double) → new_ltEs18(ywz5000, ywz4000)
new_compare0(:(ywz5000, ywz5001), [], dc) → GT
new_ltEs16(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), fg, fh) → new_pePe(new_lt20(ywz5000, ywz4000, fg), new_asAs(new_esEs26(ywz5000, ywz4000, fg), new_ltEs20(ywz5001, ywz4001, fh)))
new_esEs23(ywz5000, ywz4000, app(ty_Ratio, bah)) → new_esEs11(ywz5000, ywz4000, bah)
new_lt20(ywz5000, ywz4000, ty_Ordering) → new_lt18(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_Bool) → new_ltEs15(ywz500, ywz400)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(app(ty_@2, bae), baf)) → new_esEs6(ywz5000, ywz4000, bae, baf)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_[], gc), fb) → new_esEs8(ywz5000, ywz4000, gc)
new_lt13(ywz5001, ywz4001, ty_Ordering) → new_lt18(ywz5001, ywz4001)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, bah)) → new_esEs11(ywz5000, ywz4000, bah)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, bd), be), bf)) → new_esEs5(ywz5000, ywz4000, bd, be, bf)
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_ltEs19(ywz5002, ywz4002, ty_Int) → new_ltEs9(ywz5002, ywz4002)
new_esEs28(ywz5001, ywz4001, app(ty_Maybe, bfe)) → new_esEs7(ywz5001, ywz4001, bfe)
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bbg), bbh), bca)) → new_esEs5(ywz5001, ywz4001, bbg, bbh, bca)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat0(Zero, ywz40000)
new_ltEs7(ywz500, ywz400, app(app(ty_Either, fa), fb)) → new_ltEs5(ywz500, ywz400, fa, fb)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bbf)) → new_esEs7(ywz5001, ywz4001, bbf)
new_primMulInt(Pos(ywz50010), Pos(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Bool, fb) → new_esEs15(ywz5000, ywz4000)
new_esEs18(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, app(app(ty_Either, eg), eh)) → new_esEs4(ywz5000, ywz4000, eg, eh)
new_lt7(ywz5000, ywz4000) → new_esEs16(new_compare16(ywz5000, ywz4000), LT)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_Maybe, gg), fb) → new_esEs7(ywz5000, ywz4000, gg)
new_compare13(ywz50, ywz40, h) → new_compare27(ywz50, ywz40, new_esEs7(ywz50, ywz40, h), h)
new_primMulInt(Neg(ywz50010), Neg(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, beg), beh)) → new_esEs6(ywz5000, ywz4000, beg, beh)
new_esEs16(EQ, EQ) → True
new_esEs29(ywz500, ywz400, app(app(ty_@2, fg), fh)) → new_esEs6(ywz500, ywz400, fg, fh)
new_esEs24(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_esEs26(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, app(app(ty_Either, bce), bcf)) → new_ltEs5(ywz5002, ywz4002, bce, bcf)
new_primEqNat0(Succ(ywz50000), Zero) → False
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, app(ty_Ratio, bbe)) → new_lt11(ywz5001, ywz4001, bbe)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs7(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(app(ty_Either, bbc), bbd)) → new_esEs4(ywz5001, ywz4001, bbc, bbd)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, bdh), bea)) → new_esEs4(ywz5000, ywz4000, bdh, bea)
new_compare210(ywz5000, ywz4000, True) → EQ
new_esEs22(ywz5002, ywz4002, ty_Int) → new_esEs9(ywz5002, ywz4002)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Float, fb) → new_esEs10(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Bool, fb) → new_ltEs15(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, ty_Integer) → new_lt8(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat2(ywz40000, Zero)
new_lt14(ywz5000, ywz4000, app(ty_[], bag)) → new_lt9(ywz5000, ywz4000, bag)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Char) → new_ltEs6(ywz5000, ywz4000)
new_esEs29(ywz500, ywz400, app(app(app(ty_@3, fc), fd), ff)) → new_esEs5(ywz500, ywz400, fc, fd, ff)
new_lt13(ywz5001, ywz4001, ty_Double) → new_lt19(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_compare12(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare15(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_[], gc), fb) → new_ltEs8(ywz5000, ywz4000, gc)
new_compare6(ywz5000, ywz4000, app(app(app(ty_@3, ea), eb), ec)) → new_compare5(ywz5000, ywz4000, ea, eb, ec)
new_compare6(ywz5000, ywz4000, ty_Ordering) → new_compare19(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, app(app(ty_@2, bcb), bcc)) → new_lt4(ywz5001, ywz4001, bcb, bcc)
new_esEs26(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs28(ywz5001, ywz4001, app(app(ty_@2, bga), bgb)) → new_esEs6(ywz5001, ywz4001, bga, bgb)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(ty_Either, ca), cb)) → new_ltEs5(ywz5000, ywz4000, ca, cb)
new_lt14(ywz5000, ywz4000, ty_Bool) → new_lt17(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(ty_Maybe, dh)) → new_esEs7(ywz5000, ywz4000, dh)
new_lt10(ywz5000, ywz4000) → new_esEs16(new_compare7(ywz5000, ywz4000), LT)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, ce), cf), cg)) → new_esEs5(ywz5000, ywz4000, ce, cf, cg)
new_ltEs20(ywz5001, ywz4001, ty_Ordering) → new_ltEs17(ywz5001, ywz4001)
new_esEs25(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Integer, fb) → new_esEs13(ywz5000, ywz4000)
new_primCmpNat2(ywz50000, Succ(ywz40000)) → new_primCmpNat1(ywz50000, ywz40000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Double, fb) → new_ltEs18(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_ltEs7(ywz500, ywz400, ty_Int) → new_ltEs9(ywz500, ywz400)
new_esEs29(ywz500, ywz400, ty_Bool) → new_esEs15(ywz500, ywz400)
new_lt13(ywz5001, ywz4001, ty_Int) → new_lt10(ywz5001, ywz4001)
new_esEs16(LT, LT) → True
new_asAs(False, ywz102) → False
new_lt20(ywz5000, ywz4000, ty_Double) → new_lt19(ywz5000, ywz4000)
new_primMulInt(Neg(ywz50010), Pos(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Pos(ywz50010), Neg(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_esEs29(ywz500, ywz400, ty_Char) → new_esEs12(ywz500, ywz400)
new_primMulNat0(Zero, Succ(ywz400100)) → Zero
new_primMulNat0(Succ(ywz500100), Zero) → Zero
new_ltEs20(ywz5001, ywz4001, ty_Bool) → new_ltEs15(ywz5001, ywz4001)
new_esEs26(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs22(ywz5002, ywz4002, ty_Ordering) → new_esEs16(ywz5002, ywz4002)
new_esEs16(GT, GT) → True
new_primCmpNat2(ywz50000, Zero) → GT
new_esEs24(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_esEs23(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs29(ywz500, ywz400, ty_Double) → new_esEs17(ywz500, ywz400)
new_esEs26(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_esEs7(ywz5000, ywz4000, bec)
new_lt8(ywz5000, ywz4000) → new_esEs16(new_compare15(ywz5000, ywz4000), LT)
new_compare110(ywz5000, ywz4000, True, bd, be, bf) → LT
new_esEs25(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs29(ywz500, ywz400, ty_Float) → new_esEs10(ywz500, ywz400)
new_esEs28(ywz5001, ywz4001, app(app(ty_Either, bfb), bfc)) → new_esEs4(ywz5001, ywz4001, bfb, bfc)
new_esEs23(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(ty_Maybe, baa)) → new_esEs7(ywz5000, ywz4000, baa)
new_esEs21(ywz5001, ywz4001, app(ty_[], bbb)) → new_esEs8(ywz5001, ywz4001, bbb)
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_compare26(ywz5000, ywz4000, False, eg, eh) → new_compare111(ywz5000, ywz4000, new_ltEs5(ywz5000, ywz4000, eg, eh), eg, eh)
new_esEs28(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_ltEs12(Nothing, Just(ywz4000), bg) → True
new_ltEs17(GT, GT) → True
new_ltEs19(ywz5002, ywz4002, ty_@0) → new_ltEs14(ywz5002, ywz4002)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(ty_Either, ca), cb)) → new_esEs4(ywz5000, ywz4000, ca, cb)
new_esEs24(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_ltEs17(GT, EQ) → False
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(ty_Ratio, hh)) → new_esEs11(ywz5000, ywz4000, hh)
new_esEs22(ywz5002, ywz4002, ty_Bool) → new_esEs15(ywz5002, ywz4002)
new_lt13(ywz5001, ywz4001, app(app(app(ty_@3, bbg), bbh), bca)) → new_lt16(ywz5001, ywz4001, bbg, bbh, bca)
new_esEs28(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_lt20(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_lt16(ywz5000, ywz4000, bed, bee, bef)
new_esEs18(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Float) → new_ltEs10(ywz5001, ywz4001)
new_lt16(ywz5000, ywz4000, bd, be, bf) → new_esEs16(new_compare5(ywz5000, ywz4000, bd, be, bf), LT)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs10(ywz5000, ywz4000)
new_compare11(ywz5000, ywz4000, False) → GT
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Bool) → new_ltEs15(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_Ordering) → new_ltEs17(ywz500, ywz400)
new_compare11(ywz5000, ywz4000, True) → LT
new_esEs22(ywz5002, ywz4002, ty_@0) → new_esEs14(ywz5002, ywz4002)
new_esEs25(ywz5000, ywz4000, app(app(app(ty_@3, ea), eb), ec)) → new_esEs5(ywz5000, ywz4000, ea, eb, ec)
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat0(ywz4000, ywz50000)
new_compare28(ywz5000, ywz4000, False, ga, gb) → new_compare113(ywz5000, ywz4000, new_ltEs16(ywz5000, ywz4000, ga, gb), ga, gb)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(app(ty_@2, bae), baf)) → new_ltEs16(ywz5000, ywz4000, bae, baf)
new_lt13(ywz5001, ywz4001, ty_Bool) → new_lt17(ywz5001, ywz4001)
new_lt6(ywz5000, ywz4000) → new_esEs16(new_compare8(ywz5000, ywz4000), LT)
new_esEs28(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_compare112(ywz95, ywz96, False, bdf) → GT
new_compare27(ywz50, ywz40, True, h) → EQ
new_esEs22(ywz5002, ywz4002, ty_Float) → new_esEs10(ywz5002, ywz4002)
new_lt14(ywz5000, ywz4000, ty_@0) → new_lt7(ywz5000, ywz4000)
new_esEs28(ywz5001, ywz4001, app(ty_Ratio, bfd)) → new_esEs11(ywz5001, ywz4001, bfd)
new_esEs26(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_esEs11(ywz5000, ywz4000, beb)
new_esEs28(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Char) → new_ltEs6(ywz5001, ywz4001)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_compare15(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, ty_Int) → new_compare7(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(ty_Maybe, baa)) → new_ltEs12(ywz5000, ywz4000, baa)
new_compare0([], :(ywz4000, ywz4001), dc) → LT
new_compare111(ywz5000, ywz4000, True, eg, eh) → LT
new_primPlusNat1(Zero, Zero) → Zero
new_ltEs19(ywz5002, ywz4002, app(app(ty_@2, bdd), bde)) → new_ltEs16(ywz5002, ywz4002, bdd, bde)
new_esEs26(ywz5000, ywz4000, app(app(ty_Either, bdh), bea)) → new_esEs4(ywz5000, ywz4000, bdh, bea)
new_asAs(True, ywz102) → ywz102
new_primMulNat0(Succ(ywz500100), Succ(ywz400100)) → new_primPlusNat0(new_primMulNat0(ywz500100, Succ(ywz400100)), ywz400100)
new_esEs26(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_esEs5(ywz5000, ywz4000, bed, bee, bef)
new_ltEs17(LT, EQ) → True
new_esEs4(Left(ywz5000), Right(ywz4000), fa, fb) → False
new_esEs4(Right(ywz5000), Left(ywz4000), fa, fb) → False
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Int) → new_ltEs9(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Nothing, bg) → False
new_lt20(ywz5000, ywz4000, ty_Bool) → new_lt17(ywz5000, ywz4000)
new_esEs29(ywz500, ywz400, app(ty_Ratio, ef)) → new_esEs11(ywz500, ywz400, ef)
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Char) → new_lt15(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_Maybe, dh)) → new_compare13(ywz5000, ywz4000, dh)
new_compare24(ywz5000, ywz4000, False, bd, be, bf) → new_compare110(ywz5000, ywz4000, new_ltEs4(ywz5000, ywz4000, bd, be, bf), bd, be, bf)
new_ltEs19(ywz5002, ywz4002, ty_Integer) → new_ltEs13(ywz5002, ywz4002)
new_esEs26(ywz5000, ywz4000, app(app(ty_@2, beg), beh)) → new_esEs6(ywz5000, ywz4000, beg, beh)
new_esEs23(ywz5000, ywz4000, app(app(app(ty_@3, bd), be), bf)) → new_esEs5(ywz5000, ywz4000, bd, be, bf)
new_lt4(ywz5000, ywz4000, ga, gb) → new_esEs16(new_compare18(ywz5000, ywz4000, ga, gb), LT)
new_ltEs7(ywz500, ywz400, app(app(app(ty_@3, fc), fd), ff)) → new_ltEs4(ywz500, ywz400, fc, fd, ff)
new_compare10(ywz5000, ywz4000, True) → LT
new_esEs9(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_ltEs17(EQ, GT) → True
new_compare110(ywz5000, ywz4000, False, bd, be, bf) → GT
new_compare10(ywz5000, ywz4000, False) → GT
new_ltEs20(ywz5001, ywz4001, app(app(ty_@2, bga), bgb)) → new_ltEs16(ywz5001, ywz4001, bga, bgb)
new_primCompAux00(ywz280, GT) → GT
new_esEs4(Left(ywz5000), Left(ywz4000), ty_@0, fb) → new_esEs14(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bbe)) → new_esEs11(ywz5001, ywz4001, bbe)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, gh), ha), hb), fb) → new_ltEs4(ywz5000, ywz4000, gh, ha, hb)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs8([], :(ywz4000, ywz4001), dc) → False
new_esEs8(:(ywz5000, ywz5001), [], dc) → False
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Integer) → new_ltEs13(ywz5000, ywz4000)
new_ltEs20(ywz5001, ywz4001, app(app(ty_Either, bfb), bfc)) → new_ltEs5(ywz5001, ywz4001, bfb, bfc)
new_esEs22(ywz5002, ywz4002, app(ty_Ratio, bcg)) → new_esEs11(ywz5002, ywz4002, bcg)
new_esEs6(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), fg, fh) → new_asAs(new_esEs27(ywz5000, ywz4000, fg), new_esEs28(ywz5001, ywz4001, fh))
new_esEs28(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat2(ywz50000, ywz4000)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs22(ywz5002, ywz4002, app(ty_Maybe, bch)) → new_esEs7(ywz5002, ywz4002, bch)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_not(True) → False
new_ltEs7(ywz500, ywz400, app(ty_Maybe, bg)) → new_ltEs12(ywz500, ywz400, bg)
new_esEs15(False, False) → True

The set Q consists of the following terms:

new_esEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_sr(x0, x1)
new_lt13(x0, x1, ty_@0)
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_esEs7(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs29(x0, x1, app(ty_[], x2))
new_lt13(x0, x1, app(ty_[], x2))
new_esEs20(x0, x1, ty_Double)
new_lt14(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs7(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), ty_Int, x2)
new_compare25(Double(x0, x1), Double(x2, x3))
new_esEs24(x0, x1, ty_Ordering)
new_esEs28(x0, x1, ty_Int)
new_lt14(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(x0, x1, ty_Bool)
new_primCmpNat1(Zero, Succ(x0))
new_esEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs21(x0, x1, ty_Int)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs24(x0, x1, ty_Bool)
new_esEs29(x0, x1, ty_Double)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_compare0(:(x0, x1), :(x2, x3), x4)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs7(x0, x1, ty_@0)
new_ltEs12(Just(x0), Nothing, x1)
new_esEs27(x0, x1, ty_Bool)
new_esEs8(:(x0, x1), :(x2, x3), x4)
new_esEs29(x0, x1, ty_Int)
new_primPlusNat1(Succ(x0), Zero)
new_esEs15(True, True)
new_lt13(x0, x1, app(ty_Ratio, x2))
new_ltEs17(EQ, GT)
new_ltEs17(GT, EQ)
new_primMulNat0(Succ(x0), Zero)
new_ltEs7(x0, x1, ty_Integer)
new_primPlusNat0(Succ(x0), x1)
new_compare6(x0, x1, ty_Int)
new_esEs13(Integer(x0), Integer(x1))
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs5(Right(x0), Right(x1), x2, ty_Double)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_esEs4(Left(x0), Left(x1), ty_Integer, x2)
new_primCompAux0(x0, x1, x2, x3)
new_ltEs15(True, True)
new_esEs29(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, ty_Ordering)
new_esEs29(x0, x1, ty_Bool)
new_compare27(Just(x0), Just(x1), False, x2)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, ty_Float)
new_esEs7(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt19(x0, x1)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_compare24(x0, x1, True, x2, x3, x4)
new_ltEs14(x0, x1)
new_esEs15(False, False)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_lt8(x0, x1)
new_esEs20(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs18(x0, x1, ty_Int)
new_ltEs15(False, False)
new_compare113(x0, x1, False, x2, x3)
new_ltEs19(x0, x1, ty_Double)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs16(LT, GT)
new_esEs16(GT, LT)
new_esEs4(Left(x0), Left(x1), ty_Float, x2)
new_esEs28(x0, x1, ty_@0)
new_compare6(x0, x1, ty_Float)
new_ltEs5(Right(x0), Right(x1), x2, ty_Char)
new_ltEs20(x0, x1, ty_@0)
new_esEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_compare28(x0, x1, False, x2, x3)
new_lt20(x0, x1, ty_Int)
new_primEqNat0(Succ(x0), Succ(x1))
new_primCmpNat0(Zero, x0)
new_pePe(True, x0)
new_ltEs5(Left(x0), Left(x1), ty_Bool, x2)
new_compare110(x0, x1, True, x2, x3, x4)
new_esEs23(x0, x1, ty_Double)
new_ltEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt20(x0, x1, ty_Integer)
new_esEs9(x0, x1)
new_compare7(x0, x1)
new_ltEs19(x0, x1, ty_Float)
new_esEs5(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Float)
new_ltEs12(Just(x0), Just(x1), app(ty_[], x2))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_compare5(x0, x1, x2, x3, x4)
new_compare210(x0, x1, False)
new_ltEs7(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpNat1(Zero, Zero)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt14(x0, x1, app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), ty_Float)
new_esEs23(x0, x1, ty_Integer)
new_compare9(x0, x1, x2, x3)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, ty_Double)
new_ltEs7(x0, x1, app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_compare13(x0, x1, x2)
new_ltEs5(Right(x0), Right(x1), x2, ty_@0)
new_esEs7(Just(x0), Just(x1), app(ty_[], x2))
new_compare27(Nothing, Nothing, False, x0)
new_lt13(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, ty_Float)
new_esEs4(Left(x0), Left(x1), ty_Bool, x2)
new_lt9(x0, x1, x2)
new_esEs7(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs10(Float(x0, x1), Float(x2, x3))
new_primEqNat0(Zero, Zero)
new_esEs24(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, ty_Int)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_lt14(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_primCompAux00(x0, GT)
new_compare27(Nothing, Just(x0), False, x1)
new_compare10(x0, x1, False)
new_ltEs5(Left(x0), Left(x1), ty_Integer, x2)
new_primCompAux00(x0, EQ)
new_primMulNat0(Zero, Zero)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_compare6(x0, x1, ty_Integer)
new_lt20(x0, x1, ty_@0)
new_ltEs5(Right(x0), Right(x1), x2, ty_Bool)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_ltEs5(Left(x0), Left(x1), ty_Char, x2)
new_esEs28(x0, x1, ty_Char)
new_esEs4(Left(x0), Left(x1), ty_Double, x2)
new_compare19(x0, x1)
new_esEs25(x0, x1, ty_Int)
new_compare8(Float(x0, x1), Float(x2, x3))
new_esEs7(Nothing, Just(x0), x1)
new_esEs16(GT, GT)
new_esEs25(x0, x1, ty_Char)
new_lt13(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_ltEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(Just(x0), Just(x1), ty_Integer)
new_ltEs16(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_lt13(x0, x1, ty_Double)
new_esEs14(@0, @0)
new_ltEs18(x0, x1)
new_compare27(Just(x0), Nothing, False, x1)
new_primMulInt(Neg(x0), Neg(x1))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Float)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs24(x0, x1, ty_Char)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_esEs7(Just(x0), Just(x1), ty_Ordering)
new_ltEs20(x0, x1, ty_Integer)
new_ltEs8(x0, x1, x2)
new_compare12(:%(x0, x1), :%(x2, x3), ty_Integer)
new_lt5(x0, x1, x2)
new_esEs21(x0, x1, ty_Double)
new_esEs22(x0, x1, ty_@0)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs12(Nothing, Just(x0), x1)
new_lt14(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8(:(x0, x1), [], x2)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare16(@0, @0)
new_esEs4(Right(x0), Right(x1), x2, ty_Int)
new_esEs20(x0, x1, ty_@0)
new_pePe(False, x0)
new_ltEs7(x0, x1, ty_Double)
new_compare28(x0, x1, True, x2, x3)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs21(x0, x1, ty_Integer)
new_esEs22(x0, x1, ty_Double)
new_ltEs19(x0, x1, ty_Char)
new_esEs19(x0, x1, ty_Int)
new_compare29(x0, x1, True)
new_compare15(Integer(x0), Integer(x1))
new_compare29(x0, x1, False)
new_ltEs4(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt16(x0, x1, x2, x3, x4)
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpNat2(x0, Zero)
new_compare6(x0, x1, ty_@0)
new_compare113(x0, x1, True, x2, x3)
new_primPlusNat1(Zero, Zero)
new_ltEs9(x0, x1)
new_compare27(x0, x1, True, x2)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_compare6(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs21(x0, x1, ty_Ordering)
new_esEs24(x0, x1, ty_Integer)
new_ltEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(x0, x1, ty_Char)
new_ltEs19(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs28(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_compare0([], :(x0, x1), x2)
new_ltEs19(x0, x1, ty_Bool)
new_ltEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs26(x0, x1, ty_Bool)
new_primCompAux00(x0, LT)
new_esEs29(x0, x1, ty_Float)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_lt20(x0, x1, ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt10(x0, x1)
new_lt4(x0, x1, x2, x3)
new_lt11(x0, x1, x2)
new_ltEs7(x0, x1, ty_Bool)
new_lt14(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_@0)
new_compare26(x0, x1, True, x2, x3)
new_esEs26(x0, x1, ty_Integer)
new_ltEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_lt15(x0, x1)
new_ltEs7(x0, x1, app(ty_Maybe, x2))
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(Left(x0), Right(x1), x2, x3)
new_ltEs5(Right(x0), Left(x1), x2, x3)
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Ordering)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt14(x0, x1, app(ty_Maybe, x2))
new_compare111(x0, x1, True, x2, x3)
new_ltEs15(False, True)
new_ltEs15(True, False)
new_ltEs17(GT, GT)
new_lt14(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Int)
new_lt14(x0, x1, ty_Bool)
new_esEs25(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_compare110(x0, x1, False, x2, x3, x4)
new_esEs4(Right(x0), Right(x1), x2, ty_Integer)
new_esEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_compare210(x0, x1, True)
new_esEs20(x0, x1, ty_Int)
new_esEs7(Just(x0), Just(x1), ty_Float)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Double)
new_esEs22(x0, x1, ty_Int)
new_ltEs7(x0, x1, ty_Int)
new_ltEs12(Just(x0), Just(x1), ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, ty_Float)
new_lt18(x0, x1)
new_lt13(x0, x1, app(ty_Maybe, x2))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Zero, Succ(x0))
new_esEs15(True, False)
new_esEs15(False, True)
new_esEs7(Just(x0), Just(x1), ty_Int)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, ty_Bool)
new_esEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs4(Right(x0), Right(x1), x2, ty_Char)
new_ltEs7(x0, x1, ty_Char)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt17(x0, x1)
new_asAs(True, x0)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, ty_@0)
new_ltEs7(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Char)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs16(LT, LT)
new_compare17(x0, x1)
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_lt13(x0, x1, ty_Integer)
new_esEs7(Just(x0), Just(x1), ty_Char)
new_esEs26(x0, x1, ty_Ordering)
new_esEs18(x0, x1, ty_Integer)
new_sr0(Integer(x0), Integer(x1))
new_esEs28(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_esEs4(Left(x0), Right(x1), x2, x3)
new_esEs4(Right(x0), Left(x1), x2, x3)
new_ltEs10(x0, x1)
new_esEs22(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_Float)
new_esEs29(x0, x1, ty_Integer)
new_lt12(x0, x1, x2, x3)
new_compare10(x0, x1, True)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_ltEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt6(x0, x1)
new_esEs25(x0, x1, app(ty_[], x2))
new_ltEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs29(x0, x1, ty_Char)
new_lt13(x0, x1, ty_Bool)
new_ltEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs20(x0, x1, ty_Ordering)
new_lt14(x0, x1, ty_Integer)
new_ltEs11(x0, x1, x2)
new_ltEs12(Just(x0), Just(x1), ty_Double)
new_esEs26(x0, x1, app(ty_[], x2))
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_compare6(x0, x1, app(ty_Ratio, x2))
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8([], [], x0)
new_compare112(x0, x1, True, x2)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_asAs(False, x0)
new_compare6(x0, x1, app(ty_Maybe, x2))
new_lt13(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_@0)
new_primPlusNat1(Zero, Succ(x0))
new_compare6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), ty_@0, x2)
new_esEs4(Left(x0), Left(x1), ty_Char, x2)
new_compare6(x0, x1, ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, ty_Integer)
new_esEs7(Just(x0), Just(x1), ty_Integer)
new_ltEs5(Left(x0), Left(x1), ty_Float, x2)
new_compare14(Char(x0), Char(x1))
new_lt13(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs17(LT, GT)
new_ltEs17(GT, LT)
new_ltEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs23(x0, x1, ty_Float)
new_ltEs20(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_[], x2))
new_esEs12(Char(x0), Char(x1))
new_esEs23(x0, x1, ty_Char)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs28(x0, x1, ty_Ordering)
new_esEs4(Right(x0), Right(x1), x2, ty_@0)
new_esEs7(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Char)
new_compare0(:(x0, x1), [], x2)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs27(x0, x1, ty_Int)
new_esEs17(Double(x0, x1), Double(x2, x3))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpNat1(Succ(x0), Zero)
new_ltEs12(Just(x0), Just(x1), ty_Bool)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_compare6(x0, x1, ty_Double)
new_esEs7(Nothing, Nothing, x0)
new_ltEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Double)
new_compare24(x0, x1, False, x2, x3, x4)
new_primCmpNat1(Succ(x0), Succ(x1))
new_primPlusNat1(Succ(x0), Succ(x1))
new_ltEs12(Just(x0), Just(x1), ty_Char)
new_esEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs7(Just(x0), Just(x1), ty_Double)
new_ltEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_compare26(x0, x1, False, x2, x3)
new_ltEs7(x0, x1, ty_Float)
new_not(True)
new_esEs7(Just(x0), Just(x1), ty_Bool)
new_esEs24(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Char)
new_compare6(x0, x1, app(ty_[], x2))
new_esEs16(EQ, LT)
new_esEs16(LT, EQ)
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_compare12(:%(x0, x1), :%(x2, x3), ty_Int)
new_primCmpNat0(Succ(x0), x1)
new_esEs16(EQ, EQ)
new_esEs21(x0, x1, ty_@0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Double)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_ltEs19(x0, x1, ty_Int)
new_not(False)
new_esEs6(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs25(x0, x1, ty_Integer)
new_ltEs12(Just(x0), Just(x1), ty_@0)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Int)
new_esEs23(x0, x1, ty_Ordering)
new_esEs26(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), ty_@0, x2)
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Bool)
new_primMulNat0(Succ(x0), Succ(x1))
new_lt14(x0, x1, ty_@0)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(x0, x1, ty_Float)
new_ltEs13(x0, x1)
new_esEs4(Right(x0), Right(x1), x2, ty_Float)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_lt14(x0, x1, ty_Ordering)
new_compare6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs16(EQ, GT)
new_esEs16(GT, EQ)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt7(x0, x1)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare18(x0, x1, x2, x3)
new_ltEs5(Right(x0), Right(x1), x2, ty_Int)
new_ltEs17(LT, EQ)
new_compare111(x0, x1, False, x2, x3)
new_ltEs17(EQ, LT)
new_esEs7(Just(x0), Nothing, x1)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_lt14(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Integer)
new_esEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs23(x0, x1, ty_Int)
new_compare112(x0, x1, False, x2)
new_esEs26(x0, x1, ty_@0)
new_ltEs5(Left(x0), Left(x1), ty_Int, x2)
new_esEs7(Just(x0), Just(x1), ty_@0)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs12(Nothing, Nothing, x0)
new_ltEs6(x0, x1)
new_ltEs12(Just(x0), Just(x1), ty_Int)
new_esEs19(x0, x1, ty_Integer)
new_compare0([], [], x0)
new_esEs24(x0, x1, ty_Double)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_lt14(x0, x1, ty_Double)
new_ltEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs23(x0, x1, ty_Bool)
new_esEs8([], :(x0, x1), x2)
new_ltEs19(x0, x1, ty_Integer)
new_primPlusNat0(Zero, x0)
new_primEqNat0(Zero, Succ(x0))
new_esEs25(x0, x1, ty_Double)
new_esEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs5(Left(x0), Left(x1), ty_Double, x2)
new_primCmpNat2(x0, Succ(x1))
new_esEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs11(:%(x0, x1), :%(x2, x3), x4)
new_esEs22(x0, x1, ty_Integer)
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_lt13(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_lt13(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare11(x0, x1, False)
new_esEs20(x0, x1, ty_Char)
new_ltEs17(EQ, EQ)
new_esEs22(x0, x1, ty_Char)
new_ltEs17(LT, LT)
new_esEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Bool)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_compare11(x0, x1, True)
new_esEs7(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Bool)
new_lt13(x0, x1, ty_Ordering)
new_esEs20(x0, x1, app(ty_Ratio, x2))

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 2 SCCs.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ AND
QDP
                                          ↳ QDPSizeChangeProof
                                        ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_splitGT20(ywz41, ywz42, ywz43, Branch(ywz440, ywz441, ywz442, ywz443, ywz444), ywz500, True, h, ba) → new_splitGT3(ywz440, ywz441, ywz442, ywz443, ywz444, Just(ywz500), h, ba)
new_splitGT11(ywz41, ywz42, ywz43, ywz44, ywz500, True, h, ba) → new_splitGT0(ywz43, ywz500, h, ba)
new_splitGT20(ywz41, ywz42, ywz43, ywz44, ywz500, False, h, ba) → new_splitGT11(ywz41, ywz42, ywz43, ywz44, ywz500, new_lt5(Just(ywz500), Nothing, h), h, ba)
new_splitGT0(Branch(ywz440, ywz441, ywz442, ywz443, ywz444), ywz500, h, ba) → new_splitGT3(ywz440, ywz441, ywz442, ywz443, ywz444, Just(ywz500), h, ba)
new_splitGT12(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, True, bb, bc) → new_splitGT0(ywz36, ywz38, bb, bc)
new_splitGT3(Nothing, ywz41, ywz42, ywz43, ywz44, Just(ywz500), h, ba) → new_splitGT20(ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs16(new_compare27(Just(ywz500), Nothing, False, h), GT), h, ba)
new_splitGT21(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, True, bb, bc) → new_splitGT0(ywz37, ywz38, bb, bc)
new_splitGT21(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, False, bb, bc) → new_splitGT12(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, new_lt5(Just(ywz38), Just(ywz33), bb), bb, bc)
new_splitGT3(Just(ywz400), ywz41, ywz42, ywz43, ywz44, Just(ywz500), h, ba) → new_splitGT21(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs16(new_compare27(Just(ywz500), Just(ywz400), new_esEs29(ywz500, ywz400, h), h), GT), h, ba)

The TRS R consists of the following rules:

new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(ty_@2, hc), hd), fb) → new_ltEs16(ywz5000, ywz4000, hc, hd)
new_esEs26(ywz5000, ywz4000, app(ty_[], bdg)) → new_esEs8(ywz5000, ywz4000, bdg)
new_esEs23(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs22(ywz5002, ywz4002, ty_Double) → new_esEs17(ywz5002, ywz4002)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_Maybe, cd)) → new_esEs7(ywz5000, ywz4000, cd)
new_ltEs7(ywz500, ywz400, app(ty_Ratio, ef)) → new_ltEs11(ywz500, ywz400, ef)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_esEs7(ywz5000, ywz4000, bba)
new_compare112(ywz95, ywz96, True, bdf) → LT
new_ltEs19(ywz5002, ywz4002, app(ty_[], bcd)) → new_ltEs8(ywz5002, ywz4002, bcd)
new_compare6(ywz5000, ywz4000, ty_Double) → new_compare25(ywz5000, ywz4000)
new_esEs16(EQ, GT) → False
new_esEs16(GT, EQ) → False
new_ltEs19(ywz5002, ywz4002, app(ty_Ratio, bcg)) → new_ltEs11(ywz5002, ywz4002, bcg)
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, bcb), bcc)) → new_esEs6(ywz5001, ywz4001, bcb, bcc)
new_ltEs20(ywz5001, ywz4001, ty_Int) → new_ltEs9(ywz5001, ywz4001)
new_ltEs15(True, False) → False
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs17(LT, LT) → True
new_esEs25(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(app(app(ty_@3, bbg), bbh), bca)) → new_esEs5(ywz5001, ywz4001, bbg, bbh, bca)
new_compare6(ywz5000, ywz4000, app(app(ty_@2, ed), ee)) → new_compare18(ywz5000, ywz4000, ed, ee)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Int) → new_ltEs9(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_[], dd)) → new_compare0(ywz5000, ywz4000, dd)
new_ltEs7(ywz500, ywz400, app(ty_[], dc)) → new_ltEs8(ywz500, ywz400, dc)
new_lt20(ywz5000, ywz4000, ty_Int) → new_lt10(ywz5000, ywz4000)
new_esEs29(ywz500, ywz400, ty_Integer) → new_esEs13(ywz500, ywz400)
new_compare6(ywz5000, ywz4000, ty_Integer) → new_compare15(ywz5000, ywz4000)
new_primCmpNat1(Zero, Succ(ywz400000)) → LT
new_lt14(ywz5000, ywz4000, app(app(ty_@2, ga), gb)) → new_lt4(ywz5000, ywz4000, ga, gb)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_lt19(ywz5000, ywz4000) → new_esEs16(new_compare25(ywz5000, ywz4000), LT)
new_esEs26(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_[], bh)) → new_esEs8(ywz5000, ywz4000, bh)
new_compare27(Just(ywz500), Just(ywz400), False, h) → new_compare112(ywz500, ywz400, new_ltEs7(ywz500, ywz400, h), h)
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_esEs7(ywz5000, ywz4000, bec)
new_esEs29(ywz500, ywz400, ty_Int) → new_esEs9(ywz500, ywz400)
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, app(app(ty_Either, eg), eh)) → new_lt12(ywz5000, ywz4000, eg, eh)
new_esEs22(ywz5002, ywz4002, ty_Char) → new_esEs12(ywz5002, ywz4002)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Double) → new_ltEs18(ywz5000, ywz4000)
new_esEs29(ywz500, ywz400, ty_Ordering) → new_esEs16(ywz500, ywz400)
new_ltEs10(ywz500, ywz400) → new_not(new_esEs16(new_compare8(ywz500, ywz400), GT))
new_ltEs12(Nothing, Nothing, bg) → True
new_primMulNat0(Zero, Zero) → Zero
new_esEs24(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs8(:(ywz5000, ywz5001), :(ywz4000, ywz4001), dc) → new_asAs(new_esEs25(ywz5000, ywz4000, dc), new_esEs8(ywz5001, ywz4001, dc))
new_lt13(ywz5001, ywz4001, ty_@0) → new_lt7(ywz5001, ywz4001)
new_lt20(ywz5000, ywz4000, ty_@0) → new_lt7(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Int, fb) → new_ltEs9(ywz5000, ywz4000)
new_compare29(ywz5000, ywz4000, True) → EQ
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(ty_[], he)) → new_esEs8(ywz5000, ywz4000, he)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs5(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), fc, fd, ff) → new_asAs(new_esEs20(ywz5000, ywz4000, fc), new_asAs(new_esEs21(ywz5001, ywz4001, fd), new_esEs22(ywz5002, ywz4002, ff)))
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(ty_[], he)) → new_ltEs8(ywz5000, ywz4000, he)
new_lt20(ywz5000, ywz4000, ty_Float) → new_lt6(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_Char) → new_ltEs6(ywz500, ywz400)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Integer) → new_ltEs13(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Float) → new_ltEs10(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(ty_Either, bdh), bea)) → new_lt12(ywz5000, ywz4000, bdh, bea)
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs29(ywz500, ywz400, app(app(ty_Either, fa), fb)) → new_esEs4(ywz500, ywz400, fa, fb)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_compare16(@0, @0) → EQ
new_compare29(ywz5000, ywz4000, False) → new_compare11(ywz5000, ywz4000, new_ltEs17(ywz5000, ywz4000))
new_esEs29(ywz500, ywz400, app(ty_Maybe, bg)) → new_esEs7(ywz500, ywz400, bg)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_Ratio, cc)) → new_esEs11(ywz5000, ywz4000, cc)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, eg), eh)) → new_esEs4(ywz5000, ywz4000, eg, eh)
new_esEs19(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(ty_@2, hc), hd), fb) → new_esEs6(ywz5000, ywz4000, hc, hd)
new_compare9(ywz5000, ywz4000, eg, eh) → new_compare26(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, eg, eh), eg, eh)
new_ltEs5(Left(ywz5000), Right(ywz4000), fa, fb) → True
new_lt14(ywz5000, ywz4000, ty_Int) → new_lt10(ywz5000, ywz4000)
new_compare0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), dc) → new_primCompAux0(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, dc), dc)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(ty_@2, da), db)) → new_esEs6(ywz5000, ywz4000, da, db)
new_ltEs7(ywz500, ywz400, ty_Double) → new_ltEs18(ywz500, ywz400)
new_primCmpNat1(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat1(ywz500000, ywz400000)
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(app(ty_Either, hf), hg)) → new_ltEs5(ywz5000, ywz4000, hf, hg)
new_lt14(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_lt5(ywz5000, ywz4000, bba)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Float, fb) → new_ltEs10(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, app(ty_Maybe, bch)) → new_ltEs12(ywz5002, ywz4002, bch)
new_ltEs13(ywz500, ywz400) → new_not(new_esEs16(new_compare15(ywz500, ywz400), GT))
new_compare6(ywz5000, ywz4000, ty_@0) → new_compare16(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, ga), gb)) → new_esEs6(ywz5000, ywz4000, ga, gb)
new_esEs28(ywz5001, ywz4001, app(app(app(ty_@3, bff), bfg), bfh)) → new_esEs5(ywz5001, ywz4001, bff, bfg, bfh)
new_esEs22(ywz5002, ywz4002, app(ty_[], bcd)) → new_esEs8(ywz5002, ywz4002, bcd)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_ltEs9(ywz500, ywz400) → new_not(new_esEs16(new_compare7(ywz500, ywz400), GT))
new_ltEs5(Right(ywz5000), Left(ywz4000), fa, fb) → False
new_ltEs19(ywz5002, ywz4002, ty_Char) → new_ltEs6(ywz5002, ywz4002)
new_ltEs17(EQ, LT) → False
new_pePe(False, ywz175) → ywz175
new_esEs27(ywz5000, ywz4000, app(ty_[], bdg)) → new_esEs8(ywz5000, ywz4000, bdg)
new_esEs25(ywz5000, ywz4000, app(app(ty_Either, de), df)) → new_esEs4(ywz5000, ywz4000, de, df)
new_esEs15(True, False) → False
new_esEs15(False, True) → False
new_ltEs15(True, True) → True
new_ltEs19(ywz5002, ywz4002, ty_Float) → new_ltEs10(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, app(app(ty_Either, bce), bcf)) → new_esEs4(ywz5002, ywz4002, bce, bcf)
new_compare6(ywz5000, ywz4000, ty_Bool) → new_compare17(ywz5000, ywz4000)
new_ltEs15(False, True) → True
new_esEs26(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(ty_Maybe, bbf)) → new_esEs7(ywz5001, ywz4001, bbf)
new_lt13(ywz5001, ywz4001, ty_Integer) → new_lt8(ywz5001, ywz4001)
new_esEs23(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_esEs7(ywz5000, ywz4000, bba)
new_esEs10(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs9(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Integer, fb) → new_ltEs13(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_Ratio, cc)) → new_ltEs11(ywz5000, ywz4000, cc)
new_ltEs15(False, False) → True
new_esEs26(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_lt17(ywz5000, ywz4000) → new_esEs16(new_compare17(ywz5000, ywz4000), LT)
new_compare27(Nothing, Just(ywz400), False, h) → LT
new_esEs20(ywz5000, ywz4000, app(ty_[], bag)) → new_esEs8(ywz5000, ywz4000, bag)
new_esEs25(ywz5000, ywz4000, app(app(ty_@2, ed), ee)) → new_esEs6(ywz5000, ywz4000, ed, ee)
new_compare14(Char(ywz5000), Char(ywz4000)) → new_primCmpNat1(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Char, fb) → new_ltEs6(ywz5000, ywz4000)
new_compare18(ywz5000, ywz4000, ga, gb) → new_compare28(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, ga, gb), ga, gb)
new_esEs25(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Char, fb) → new_esEs12(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, app(app(app(ty_@3, bda), bdb), bdc)) → new_ltEs4(ywz5002, ywz4002, bda, bdb, bdc)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(ty_@2, da), db)) → new_ltEs16(ywz5000, ywz4000, da, db)
new_lt14(ywz5000, ywz4000, ty_Char) → new_lt15(ywz5000, ywz4000)
new_lt5(ywz50, ywz40, h) → new_esEs16(new_compare13(ywz50, ywz40, h), LT)
new_esEs28(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, app(app(ty_@2, bcb), bcc)) → new_esEs6(ywz5001, ywz4001, bcb, bcc)
new_compare0([], [], dc) → EQ
new_pePe(True, ywz175) → True
new_primEqNat0(Zero, Zero) → True
new_esEs19(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs14(@0, @0) → True
new_compare111(ywz5000, ywz4000, False, eg, eh) → GT
new_esEs28(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_compare17(ywz5000, ywz4000) → new_compare210(ywz5000, ywz4000, new_esEs15(ywz5000, ywz4000))
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_[], bh)) → new_ltEs8(ywz5000, ywz4000, bh)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_@0) → new_ltEs14(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_@0, fb) → new_ltEs14(ywz5000, ywz4000)
new_esEs16(LT, GT) → False
new_esEs16(GT, LT) → False
new_lt20(ywz5000, ywz4000, app(ty_[], bdg)) → new_lt9(ywz5000, ywz4000, bdg)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_ltEs17(GT, LT) → False
new_sr(ywz5001, ywz4001) → new_primMulInt(ywz5001, ywz4001)
new_compare7(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_primCmpNat1(Zero, Zero) → EQ
new_ltEs7(ywz500, ywz400, ty_Integer) → new_ltEs13(ywz500, ywz400)
new_esEs24(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Int, fb) → new_esEs9(ywz5000, ywz4000)
new_ltEs20(ywz5001, ywz4001, app(ty_Ratio, bfd)) → new_ltEs11(ywz5001, ywz4001, bfd)
new_primPlusNat0(Succ(ywz1950), ywz400100) → Succ(Succ(new_primPlusNat1(ywz1950, ywz400100)))
new_ltEs11(ywz500, ywz400, ef) → new_not(new_esEs16(new_compare12(ywz500, ywz400, ef), GT))
new_ltEs19(ywz5002, ywz4002, ty_Bool) → new_ltEs15(ywz5002, ywz4002)
new_lt14(ywz5000, ywz4000, app(ty_Ratio, bah)) → new_lt11(ywz5000, ywz4000, bah)
new_esEs28(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs13(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_primCmpNat1(Succ(ywz500000), Zero) → GT
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(app(ty_Either, hf), hg)) → new_esEs4(ywz5000, ywz4000, hf, hg)
new_compare24(ywz5000, ywz4000, True, bd, be, bf) → EQ
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Ordering, fb) → new_ltEs17(ywz5000, ywz4000)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_ltEs20(ywz5001, ywz4001, app(app(app(ty_@3, bff), bfg), bfh)) → new_ltEs4(ywz5001, ywz4001, bff, bfg, bfh)
new_esEs24(ywz5001, ywz4001, app(ty_Ratio, bbe)) → new_esEs11(ywz5001, ywz4001, bbe)
new_lt20(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_lt11(ywz5000, ywz4000, beb)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs15(True, True) → True
new_compare113(ywz5000, ywz4000, True, ga, gb) → LT
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(ty_Either, gd), ge), fb) → new_esEs4(ywz5000, ywz4000, gd, ge)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, gh), ha), hb), fb) → new_esEs5(ywz5000, ywz4000, gh, ha, hb)
new_primCompAux0(ywz5000, ywz4000, ywz228, dc) → new_primCompAux00(ywz228, new_compare6(ywz5000, ywz4000, dc))
new_ltEs17(LT, GT) → True
new_primPlusNat1(Succ(ywz19500), Zero) → Succ(ywz19500)
new_primPlusNat1(Zero, Succ(ywz4001000)) → Succ(ywz4001000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Ordering) → new_ltEs17(ywz5000, ywz4000)
new_compare27(Just(ywz500), Nothing, False, h) → GT
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Float) → new_ltEs10(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_@0) → new_ltEs14(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_Ratio, dg)) → new_compare12(ywz5000, ywz4000, dg)
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, app(ty_[], bfa)) → new_esEs8(ywz5001, ywz4001, bfa)
new_lt13(ywz5001, ywz4001, ty_Float) → new_lt6(ywz5001, ywz4001)
new_compare27(Nothing, Nothing, False, h) → LT
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_lt18(ywz5000, ywz4000) → new_esEs16(new_compare19(ywz5000, ywz4000), LT)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_Ratio, gf), fb) → new_esEs11(ywz5000, ywz4000, gf)
new_compare6(ywz5000, ywz4000, ty_Char) → new_compare14(ywz5000, ywz4000)
new_primCmpNat0(Succ(ywz40000), ywz50000) → new_primCmpNat1(ywz40000, ywz50000)
new_esEs8([], [], dc) → True
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_lt20(ywz5000, ywz4000, ty_Integer) → new_lt8(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, ty_Ordering) → new_lt18(ywz5000, ywz4000)
new_compare26(ywz5000, ywz4000, True, eg, eh) → EQ
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Char) → new_ltEs6(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bbc), bbd)) → new_esEs4(ywz5001, ywz4001, bbc, bbd)
new_esEs22(ywz5002, ywz4002, app(app(app(ty_@3, bda), bdb), bdc)) → new_esEs5(ywz5002, ywz4002, bda, bdb, bdc)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_lt5(ywz5000, ywz4000, bec)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_ltEs17(EQ, EQ) → True
new_ltEs20(ywz5001, ywz4001, app(ty_[], bfa)) → new_ltEs8(ywz5001, ywz4001, bfa)
new_ltEs19(ywz5002, ywz4002, ty_Ordering) → new_ltEs17(ywz5002, ywz4002)
new_compare12(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare7(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_lt13(ywz5001, ywz4001, ty_Char) → new_lt15(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_Maybe, gg), fb) → new_ltEs12(ywz5000, ywz4000, gg)
new_esEs23(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_@0) → new_ltEs14(ywz500, ywz400)
new_ltEs8(ywz500, ywz400, dc) → new_not(new_esEs16(new_compare0(ywz500, ywz400, dc), GT))
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(ty_Either, gd), ge), fb) → new_ltEs5(ywz5000, ywz4000, gd, ge)
new_compare19(ywz5000, ywz4000) → new_compare29(ywz5000, ywz4000, new_esEs16(ywz5000, ywz4000))
new_lt15(ywz5000, ywz4000) → new_esEs16(new_compare14(ywz5000, ywz4000), LT)
new_esEs25(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(ty_[], dd)) → new_esEs8(ywz5000, ywz4000, dd)
new_lt9(ywz5000, ywz4000, bag) → new_esEs16(new_compare0(ywz5000, ywz4000, bag), LT)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_Ratio, gf), fb) → new_ltEs11(ywz5000, ywz4000, gf)
new_lt14(ywz5000, ywz4000, ty_Double) → new_lt19(ywz5000, ywz4000)
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_lt14(ywz5000, ywz4000, app(app(app(ty_@3, bd), be), bf)) → new_lt16(ywz5000, ywz4000, bd, be, bf)
new_esEs23(ywz5000, ywz4000, app(ty_[], bag)) → new_esEs8(ywz5000, ywz4000, bag)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Ordering, fb) → new_esEs16(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, app(app(ty_@2, fg), fh)) → new_ltEs16(ywz500, ywz400, fg, fh)
new_ltEs7(ywz500, ywz400, ty_Float) → new_ltEs10(ywz500, ywz400)
new_compare113(ywz5000, ywz4000, False, ga, gb) → GT
new_lt14(ywz5000, ywz4000, ty_Float) → new_lt6(ywz5000, ywz4000)
new_ltEs4(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), fc, fd, ff) → new_pePe(new_lt14(ywz5000, ywz4000, fc), new_asAs(new_esEs23(ywz5000, ywz4000, fc), new_pePe(new_lt13(ywz5001, ywz4001, fd), new_asAs(new_esEs24(ywz5001, ywz4001, fd), new_ltEs19(ywz5002, ywz4002, ff)))))
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_ltEs17(ywz5000, ywz4000)
new_primCompAux00(ywz280, LT) → LT
new_esEs23(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_esEs5(ywz5000, ywz4000, bed, bee, bef)
new_esEs7(Nothing, Nothing, bg) → True
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_esEs29(ywz500, ywz400, app(ty_[], dc)) → new_esEs8(ywz500, ywz400, dc)
new_esEs22(ywz5002, ywz4002, ty_Integer) → new_esEs13(ywz5002, ywz4002)
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, app(ty_Maybe, bfe)) → new_ltEs12(ywz5001, ywz4001, bfe)
new_ltEs20(ywz5001, ywz4001, ty_Integer) → new_ltEs13(ywz5001, ywz4001)
new_compare5(ywz5000, ywz4000, bd, be, bf) → new_compare24(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bd, be, bf), bd, be, bf)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Double, fb) → new_esEs17(ywz5000, ywz4000)
new_compare8(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare7(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs17(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs9(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(app(app(ty_@3, bab), bac), bad)) → new_esEs5(ywz5000, ywz4000, bab, bac, bad)
new_lt20(ywz5000, ywz4000, app(app(ty_@2, beg), beh)) → new_lt4(ywz5000, ywz4000, beg, beh)
new_lt12(ywz5000, ywz4000, eg, eh) → new_esEs16(new_compare9(ywz5000, ywz4000, eg, eh), LT)
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_ltEs20(ywz5001, ywz4001, ty_@0) → new_ltEs14(ywz5001, ywz4001)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(app(app(ty_@3, bab), bac), bad)) → new_ltEs4(ywz5000, ywz4000, bab, bac, bad)
new_sr0(Integer(ywz40000), Integer(ywz50010)) → Integer(new_primMulInt(ywz40000, ywz50010))
new_primPlusNat1(Succ(ywz19500), Succ(ywz4001000)) → Succ(Succ(new_primPlusNat1(ywz19500, ywz4001000)))
new_lt13(ywz5001, ywz4001, app(ty_Maybe, bbf)) → new_lt5(ywz5001, ywz4001, bbf)
new_compare28(ywz5000, ywz4000, True, ga, gb) → EQ
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_Maybe, cd)) → new_ltEs12(ywz5000, ywz4000, cd)
new_esEs7(Just(ywz5000), Nothing, bg) → False
new_esEs7(Nothing, Just(ywz4000), bg) → False
new_esEs25(ywz5000, ywz4000, app(ty_Ratio, dg)) → new_esEs11(ywz5000, ywz4000, dg)
new_compare6(ywz5000, ywz4000, app(app(ty_Either, de), df)) → new_compare9(ywz5000, ywz4000, de, df)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, ce), cf), cg)) → new_ltEs4(ywz5000, ywz4000, ce, cf, cg)
new_ltEs20(ywz5001, ywz4001, ty_Double) → new_ltEs18(ywz5001, ywz4001)
new_esEs29(ywz500, ywz400, ty_@0) → new_esEs14(ywz500, ywz400)
new_esEs25(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs22(ywz5002, ywz4002, app(app(ty_@2, bdd), bde)) → new_esEs6(ywz5002, ywz4002, bdd, bde)
new_esEs26(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_esEs11(ywz5000, ywz4000, beb)
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primCompAux00(ywz280, EQ) → ywz280
new_esEs23(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_lt11(ywz5000, ywz4000, bah) → new_esEs16(new_compare12(ywz5000, ywz4000, bah), LT)
new_esEs25(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_primCmpNat0(Zero, ywz50000) → LT
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, ty_Double) → new_ltEs18(ywz5002, ywz4002)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, app(ty_[], bbb)) → new_lt9(ywz5001, ywz4001, bbb)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Bool) → new_ltEs15(ywz5000, ywz4000)
new_ltEs14(ywz500, ywz400) → new_not(new_esEs16(new_compare16(ywz500, ywz400), GT))
new_compare6(ywz5000, ywz4000, ty_Float) → new_compare8(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(ty_Ratio, hh)) → new_ltEs11(ywz5000, ywz4000, hh)
new_ltEs6(ywz500, ywz400) → new_not(new_esEs16(new_compare14(ywz500, ywz400), GT))
new_esEs12(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, app(app(ty_Either, bbc), bbd)) → new_lt12(ywz5001, ywz4001, bbc, bbd)
new_not(False) → True
new_esEs23(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs18(ywz500, ywz400) → new_not(new_esEs16(new_compare25(ywz500, ywz400), GT))
new_primPlusNat0(Zero, ywz400100) → Succ(ywz400100)
new_esEs23(ywz5000, ywz4000, app(app(ty_@2, ga), gb)) → new_esEs6(ywz5000, ywz4000, ga, gb)
new_compare210(ywz5000, ywz4000, False) → new_compare10(ywz5000, ywz4000, new_ltEs15(ywz5000, ywz4000))
new_esEs11(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ef) → new_asAs(new_esEs18(ywz5000, ywz4000, ef), new_esEs19(ywz5001, ywz4001, ef))
new_esEs16(LT, EQ) → False
new_esEs16(EQ, LT) → False
new_esEs25(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(ty_[], bbb)) → new_esEs8(ywz5001, ywz4001, bbb)
new_compare25(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare7(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Double) → new_ltEs18(ywz5000, ywz4000)
new_compare0(:(ywz5000, ywz5001), [], dc) → GT
new_ltEs16(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), fg, fh) → new_pePe(new_lt20(ywz5000, ywz4000, fg), new_asAs(new_esEs26(ywz5000, ywz4000, fg), new_ltEs20(ywz5001, ywz4001, fh)))
new_esEs23(ywz5000, ywz4000, app(ty_Ratio, bah)) → new_esEs11(ywz5000, ywz4000, bah)
new_lt20(ywz5000, ywz4000, ty_Ordering) → new_lt18(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_Bool) → new_ltEs15(ywz500, ywz400)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(app(ty_@2, bae), baf)) → new_esEs6(ywz5000, ywz4000, bae, baf)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_[], gc), fb) → new_esEs8(ywz5000, ywz4000, gc)
new_lt13(ywz5001, ywz4001, ty_Ordering) → new_lt18(ywz5001, ywz4001)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, bah)) → new_esEs11(ywz5000, ywz4000, bah)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, bd), be), bf)) → new_esEs5(ywz5000, ywz4000, bd, be, bf)
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_ltEs19(ywz5002, ywz4002, ty_Int) → new_ltEs9(ywz5002, ywz4002)
new_esEs28(ywz5001, ywz4001, app(ty_Maybe, bfe)) → new_esEs7(ywz5001, ywz4001, bfe)
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bbg), bbh), bca)) → new_esEs5(ywz5001, ywz4001, bbg, bbh, bca)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat0(Zero, ywz40000)
new_ltEs7(ywz500, ywz400, app(app(ty_Either, fa), fb)) → new_ltEs5(ywz500, ywz400, fa, fb)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bbf)) → new_esEs7(ywz5001, ywz4001, bbf)
new_primMulInt(Pos(ywz50010), Pos(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Bool, fb) → new_esEs15(ywz5000, ywz4000)
new_esEs18(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, app(app(ty_Either, eg), eh)) → new_esEs4(ywz5000, ywz4000, eg, eh)
new_lt7(ywz5000, ywz4000) → new_esEs16(new_compare16(ywz5000, ywz4000), LT)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_Maybe, gg), fb) → new_esEs7(ywz5000, ywz4000, gg)
new_compare13(ywz50, ywz40, h) → new_compare27(ywz50, ywz40, new_esEs7(ywz50, ywz40, h), h)
new_primMulInt(Neg(ywz50010), Neg(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, beg), beh)) → new_esEs6(ywz5000, ywz4000, beg, beh)
new_esEs16(EQ, EQ) → True
new_esEs29(ywz500, ywz400, app(app(ty_@2, fg), fh)) → new_esEs6(ywz500, ywz400, fg, fh)
new_esEs24(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_esEs26(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, app(app(ty_Either, bce), bcf)) → new_ltEs5(ywz5002, ywz4002, bce, bcf)
new_primEqNat0(Succ(ywz50000), Zero) → False
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, app(ty_Ratio, bbe)) → new_lt11(ywz5001, ywz4001, bbe)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs7(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(app(ty_Either, bbc), bbd)) → new_esEs4(ywz5001, ywz4001, bbc, bbd)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, bdh), bea)) → new_esEs4(ywz5000, ywz4000, bdh, bea)
new_compare210(ywz5000, ywz4000, True) → EQ
new_esEs22(ywz5002, ywz4002, ty_Int) → new_esEs9(ywz5002, ywz4002)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Float, fb) → new_esEs10(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Bool, fb) → new_ltEs15(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, ty_Integer) → new_lt8(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat2(ywz40000, Zero)
new_lt14(ywz5000, ywz4000, app(ty_[], bag)) → new_lt9(ywz5000, ywz4000, bag)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Char) → new_ltEs6(ywz5000, ywz4000)
new_esEs29(ywz500, ywz400, app(app(app(ty_@3, fc), fd), ff)) → new_esEs5(ywz500, ywz400, fc, fd, ff)
new_lt13(ywz5001, ywz4001, ty_Double) → new_lt19(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_compare12(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare15(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_[], gc), fb) → new_ltEs8(ywz5000, ywz4000, gc)
new_compare6(ywz5000, ywz4000, app(app(app(ty_@3, ea), eb), ec)) → new_compare5(ywz5000, ywz4000, ea, eb, ec)
new_compare6(ywz5000, ywz4000, ty_Ordering) → new_compare19(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, app(app(ty_@2, bcb), bcc)) → new_lt4(ywz5001, ywz4001, bcb, bcc)
new_esEs26(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs28(ywz5001, ywz4001, app(app(ty_@2, bga), bgb)) → new_esEs6(ywz5001, ywz4001, bga, bgb)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(ty_Either, ca), cb)) → new_ltEs5(ywz5000, ywz4000, ca, cb)
new_lt14(ywz5000, ywz4000, ty_Bool) → new_lt17(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(ty_Maybe, dh)) → new_esEs7(ywz5000, ywz4000, dh)
new_lt10(ywz5000, ywz4000) → new_esEs16(new_compare7(ywz5000, ywz4000), LT)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, ce), cf), cg)) → new_esEs5(ywz5000, ywz4000, ce, cf, cg)
new_ltEs20(ywz5001, ywz4001, ty_Ordering) → new_ltEs17(ywz5001, ywz4001)
new_esEs25(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Integer, fb) → new_esEs13(ywz5000, ywz4000)
new_primCmpNat2(ywz50000, Succ(ywz40000)) → new_primCmpNat1(ywz50000, ywz40000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Double, fb) → new_ltEs18(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_ltEs7(ywz500, ywz400, ty_Int) → new_ltEs9(ywz500, ywz400)
new_esEs29(ywz500, ywz400, ty_Bool) → new_esEs15(ywz500, ywz400)
new_lt13(ywz5001, ywz4001, ty_Int) → new_lt10(ywz5001, ywz4001)
new_esEs16(LT, LT) → True
new_asAs(False, ywz102) → False
new_lt20(ywz5000, ywz4000, ty_Double) → new_lt19(ywz5000, ywz4000)
new_primMulInt(Neg(ywz50010), Pos(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Pos(ywz50010), Neg(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_esEs29(ywz500, ywz400, ty_Char) → new_esEs12(ywz500, ywz400)
new_primMulNat0(Zero, Succ(ywz400100)) → Zero
new_primMulNat0(Succ(ywz500100), Zero) → Zero
new_ltEs20(ywz5001, ywz4001, ty_Bool) → new_ltEs15(ywz5001, ywz4001)
new_esEs26(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs22(ywz5002, ywz4002, ty_Ordering) → new_esEs16(ywz5002, ywz4002)
new_esEs16(GT, GT) → True
new_primCmpNat2(ywz50000, Zero) → GT
new_esEs24(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_esEs23(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs29(ywz500, ywz400, ty_Double) → new_esEs17(ywz500, ywz400)
new_esEs26(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_esEs7(ywz5000, ywz4000, bec)
new_lt8(ywz5000, ywz4000) → new_esEs16(new_compare15(ywz5000, ywz4000), LT)
new_compare110(ywz5000, ywz4000, True, bd, be, bf) → LT
new_esEs25(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs29(ywz500, ywz400, ty_Float) → new_esEs10(ywz500, ywz400)
new_esEs28(ywz5001, ywz4001, app(app(ty_Either, bfb), bfc)) → new_esEs4(ywz5001, ywz4001, bfb, bfc)
new_esEs23(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(ty_Maybe, baa)) → new_esEs7(ywz5000, ywz4000, baa)
new_esEs21(ywz5001, ywz4001, app(ty_[], bbb)) → new_esEs8(ywz5001, ywz4001, bbb)
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_compare26(ywz5000, ywz4000, False, eg, eh) → new_compare111(ywz5000, ywz4000, new_ltEs5(ywz5000, ywz4000, eg, eh), eg, eh)
new_esEs28(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_ltEs12(Nothing, Just(ywz4000), bg) → True
new_ltEs17(GT, GT) → True
new_ltEs19(ywz5002, ywz4002, ty_@0) → new_ltEs14(ywz5002, ywz4002)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(ty_Either, ca), cb)) → new_esEs4(ywz5000, ywz4000, ca, cb)
new_esEs24(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_ltEs17(GT, EQ) → False
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(ty_Ratio, hh)) → new_esEs11(ywz5000, ywz4000, hh)
new_esEs22(ywz5002, ywz4002, ty_Bool) → new_esEs15(ywz5002, ywz4002)
new_lt13(ywz5001, ywz4001, app(app(app(ty_@3, bbg), bbh), bca)) → new_lt16(ywz5001, ywz4001, bbg, bbh, bca)
new_esEs28(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_lt20(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_lt16(ywz5000, ywz4000, bed, bee, bef)
new_esEs18(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Float) → new_ltEs10(ywz5001, ywz4001)
new_lt16(ywz5000, ywz4000, bd, be, bf) → new_esEs16(new_compare5(ywz5000, ywz4000, bd, be, bf), LT)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs10(ywz5000, ywz4000)
new_compare11(ywz5000, ywz4000, False) → GT
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Bool) → new_ltEs15(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_Ordering) → new_ltEs17(ywz500, ywz400)
new_compare11(ywz5000, ywz4000, True) → LT
new_esEs22(ywz5002, ywz4002, ty_@0) → new_esEs14(ywz5002, ywz4002)
new_esEs25(ywz5000, ywz4000, app(app(app(ty_@3, ea), eb), ec)) → new_esEs5(ywz5000, ywz4000, ea, eb, ec)
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat0(ywz4000, ywz50000)
new_compare28(ywz5000, ywz4000, False, ga, gb) → new_compare113(ywz5000, ywz4000, new_ltEs16(ywz5000, ywz4000, ga, gb), ga, gb)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(app(ty_@2, bae), baf)) → new_ltEs16(ywz5000, ywz4000, bae, baf)
new_lt13(ywz5001, ywz4001, ty_Bool) → new_lt17(ywz5001, ywz4001)
new_lt6(ywz5000, ywz4000) → new_esEs16(new_compare8(ywz5000, ywz4000), LT)
new_esEs28(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_compare112(ywz95, ywz96, False, bdf) → GT
new_compare27(ywz50, ywz40, True, h) → EQ
new_esEs22(ywz5002, ywz4002, ty_Float) → new_esEs10(ywz5002, ywz4002)
new_lt14(ywz5000, ywz4000, ty_@0) → new_lt7(ywz5000, ywz4000)
new_esEs28(ywz5001, ywz4001, app(ty_Ratio, bfd)) → new_esEs11(ywz5001, ywz4001, bfd)
new_esEs26(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_esEs11(ywz5000, ywz4000, beb)
new_esEs28(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Char) → new_ltEs6(ywz5001, ywz4001)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_compare15(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, ty_Int) → new_compare7(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(ty_Maybe, baa)) → new_ltEs12(ywz5000, ywz4000, baa)
new_compare0([], :(ywz4000, ywz4001), dc) → LT
new_compare111(ywz5000, ywz4000, True, eg, eh) → LT
new_primPlusNat1(Zero, Zero) → Zero
new_ltEs19(ywz5002, ywz4002, app(app(ty_@2, bdd), bde)) → new_ltEs16(ywz5002, ywz4002, bdd, bde)
new_esEs26(ywz5000, ywz4000, app(app(ty_Either, bdh), bea)) → new_esEs4(ywz5000, ywz4000, bdh, bea)
new_asAs(True, ywz102) → ywz102
new_primMulNat0(Succ(ywz500100), Succ(ywz400100)) → new_primPlusNat0(new_primMulNat0(ywz500100, Succ(ywz400100)), ywz400100)
new_esEs26(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_esEs5(ywz5000, ywz4000, bed, bee, bef)
new_ltEs17(LT, EQ) → True
new_esEs4(Left(ywz5000), Right(ywz4000), fa, fb) → False
new_esEs4(Right(ywz5000), Left(ywz4000), fa, fb) → False
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Int) → new_ltEs9(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Nothing, bg) → False
new_lt20(ywz5000, ywz4000, ty_Bool) → new_lt17(ywz5000, ywz4000)
new_esEs29(ywz500, ywz400, app(ty_Ratio, ef)) → new_esEs11(ywz500, ywz400, ef)
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Char) → new_lt15(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_Maybe, dh)) → new_compare13(ywz5000, ywz4000, dh)
new_compare24(ywz5000, ywz4000, False, bd, be, bf) → new_compare110(ywz5000, ywz4000, new_ltEs4(ywz5000, ywz4000, bd, be, bf), bd, be, bf)
new_ltEs19(ywz5002, ywz4002, ty_Integer) → new_ltEs13(ywz5002, ywz4002)
new_esEs26(ywz5000, ywz4000, app(app(ty_@2, beg), beh)) → new_esEs6(ywz5000, ywz4000, beg, beh)
new_esEs23(ywz5000, ywz4000, app(app(app(ty_@3, bd), be), bf)) → new_esEs5(ywz5000, ywz4000, bd, be, bf)
new_lt4(ywz5000, ywz4000, ga, gb) → new_esEs16(new_compare18(ywz5000, ywz4000, ga, gb), LT)
new_ltEs7(ywz500, ywz400, app(app(app(ty_@3, fc), fd), ff)) → new_ltEs4(ywz500, ywz400, fc, fd, ff)
new_compare10(ywz5000, ywz4000, True) → LT
new_esEs9(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_ltEs17(EQ, GT) → True
new_compare110(ywz5000, ywz4000, False, bd, be, bf) → GT
new_compare10(ywz5000, ywz4000, False) → GT
new_ltEs20(ywz5001, ywz4001, app(app(ty_@2, bga), bgb)) → new_ltEs16(ywz5001, ywz4001, bga, bgb)
new_primCompAux00(ywz280, GT) → GT
new_esEs4(Left(ywz5000), Left(ywz4000), ty_@0, fb) → new_esEs14(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bbe)) → new_esEs11(ywz5001, ywz4001, bbe)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, gh), ha), hb), fb) → new_ltEs4(ywz5000, ywz4000, gh, ha, hb)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs8([], :(ywz4000, ywz4001), dc) → False
new_esEs8(:(ywz5000, ywz5001), [], dc) → False
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Integer) → new_ltEs13(ywz5000, ywz4000)
new_ltEs20(ywz5001, ywz4001, app(app(ty_Either, bfb), bfc)) → new_ltEs5(ywz5001, ywz4001, bfb, bfc)
new_esEs22(ywz5002, ywz4002, app(ty_Ratio, bcg)) → new_esEs11(ywz5002, ywz4002, bcg)
new_esEs6(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), fg, fh) → new_asAs(new_esEs27(ywz5000, ywz4000, fg), new_esEs28(ywz5001, ywz4001, fh))
new_esEs28(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat2(ywz50000, ywz4000)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs22(ywz5002, ywz4002, app(ty_Maybe, bch)) → new_esEs7(ywz5002, ywz4002, bch)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_not(True) → False
new_ltEs7(ywz500, ywz400, app(ty_Maybe, bg)) → new_ltEs12(ywz500, ywz400, bg)
new_esEs15(False, False) → True

The set Q consists of the following terms:

new_esEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_sr(x0, x1)
new_lt13(x0, x1, ty_@0)
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_esEs7(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs29(x0, x1, app(ty_[], x2))
new_lt13(x0, x1, app(ty_[], x2))
new_esEs20(x0, x1, ty_Double)
new_lt14(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs7(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), ty_Int, x2)
new_compare25(Double(x0, x1), Double(x2, x3))
new_esEs24(x0, x1, ty_Ordering)
new_esEs28(x0, x1, ty_Int)
new_lt14(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(x0, x1, ty_Bool)
new_primCmpNat1(Zero, Succ(x0))
new_esEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs21(x0, x1, ty_Int)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs24(x0, x1, ty_Bool)
new_esEs29(x0, x1, ty_Double)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_compare0(:(x0, x1), :(x2, x3), x4)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs7(x0, x1, ty_@0)
new_ltEs12(Just(x0), Nothing, x1)
new_esEs27(x0, x1, ty_Bool)
new_esEs8(:(x0, x1), :(x2, x3), x4)
new_esEs29(x0, x1, ty_Int)
new_primPlusNat1(Succ(x0), Zero)
new_esEs15(True, True)
new_lt13(x0, x1, app(ty_Ratio, x2))
new_ltEs17(EQ, GT)
new_ltEs17(GT, EQ)
new_primMulNat0(Succ(x0), Zero)
new_ltEs7(x0, x1, ty_Integer)
new_primPlusNat0(Succ(x0), x1)
new_compare6(x0, x1, ty_Int)
new_esEs13(Integer(x0), Integer(x1))
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs5(Right(x0), Right(x1), x2, ty_Double)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_esEs4(Left(x0), Left(x1), ty_Integer, x2)
new_primCompAux0(x0, x1, x2, x3)
new_ltEs15(True, True)
new_esEs29(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, ty_Ordering)
new_esEs29(x0, x1, ty_Bool)
new_compare27(Just(x0), Just(x1), False, x2)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, ty_Float)
new_esEs7(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt19(x0, x1)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_compare24(x0, x1, True, x2, x3, x4)
new_ltEs14(x0, x1)
new_esEs15(False, False)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_lt8(x0, x1)
new_esEs20(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs18(x0, x1, ty_Int)
new_ltEs15(False, False)
new_compare113(x0, x1, False, x2, x3)
new_ltEs19(x0, x1, ty_Double)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs16(LT, GT)
new_esEs16(GT, LT)
new_esEs4(Left(x0), Left(x1), ty_Float, x2)
new_esEs28(x0, x1, ty_@0)
new_compare6(x0, x1, ty_Float)
new_ltEs5(Right(x0), Right(x1), x2, ty_Char)
new_ltEs20(x0, x1, ty_@0)
new_esEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_compare28(x0, x1, False, x2, x3)
new_lt20(x0, x1, ty_Int)
new_primEqNat0(Succ(x0), Succ(x1))
new_primCmpNat0(Zero, x0)
new_pePe(True, x0)
new_ltEs5(Left(x0), Left(x1), ty_Bool, x2)
new_compare110(x0, x1, True, x2, x3, x4)
new_esEs23(x0, x1, ty_Double)
new_ltEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt20(x0, x1, ty_Integer)
new_esEs9(x0, x1)
new_compare7(x0, x1)
new_ltEs19(x0, x1, ty_Float)
new_esEs5(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Float)
new_ltEs12(Just(x0), Just(x1), app(ty_[], x2))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_compare5(x0, x1, x2, x3, x4)
new_compare210(x0, x1, False)
new_ltEs7(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpNat1(Zero, Zero)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt14(x0, x1, app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), ty_Float)
new_esEs23(x0, x1, ty_Integer)
new_compare9(x0, x1, x2, x3)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, ty_Double)
new_ltEs7(x0, x1, app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_compare13(x0, x1, x2)
new_ltEs5(Right(x0), Right(x1), x2, ty_@0)
new_esEs7(Just(x0), Just(x1), app(ty_[], x2))
new_compare27(Nothing, Nothing, False, x0)
new_lt13(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, ty_Float)
new_esEs4(Left(x0), Left(x1), ty_Bool, x2)
new_lt9(x0, x1, x2)
new_esEs7(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs10(Float(x0, x1), Float(x2, x3))
new_primEqNat0(Zero, Zero)
new_esEs24(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, ty_Int)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_lt14(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_primCompAux00(x0, GT)
new_compare27(Nothing, Just(x0), False, x1)
new_compare10(x0, x1, False)
new_ltEs5(Left(x0), Left(x1), ty_Integer, x2)
new_primCompAux00(x0, EQ)
new_primMulNat0(Zero, Zero)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_compare6(x0, x1, ty_Integer)
new_lt20(x0, x1, ty_@0)
new_ltEs5(Right(x0), Right(x1), x2, ty_Bool)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_ltEs5(Left(x0), Left(x1), ty_Char, x2)
new_esEs28(x0, x1, ty_Char)
new_esEs4(Left(x0), Left(x1), ty_Double, x2)
new_compare19(x0, x1)
new_esEs25(x0, x1, ty_Int)
new_compare8(Float(x0, x1), Float(x2, x3))
new_esEs7(Nothing, Just(x0), x1)
new_esEs16(GT, GT)
new_esEs25(x0, x1, ty_Char)
new_lt13(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_ltEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(Just(x0), Just(x1), ty_Integer)
new_ltEs16(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_lt13(x0, x1, ty_Double)
new_esEs14(@0, @0)
new_ltEs18(x0, x1)
new_compare27(Just(x0), Nothing, False, x1)
new_primMulInt(Neg(x0), Neg(x1))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Float)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs24(x0, x1, ty_Char)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_esEs7(Just(x0), Just(x1), ty_Ordering)
new_ltEs20(x0, x1, ty_Integer)
new_ltEs8(x0, x1, x2)
new_compare12(:%(x0, x1), :%(x2, x3), ty_Integer)
new_lt5(x0, x1, x2)
new_esEs21(x0, x1, ty_Double)
new_esEs22(x0, x1, ty_@0)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs12(Nothing, Just(x0), x1)
new_lt14(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8(:(x0, x1), [], x2)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare16(@0, @0)
new_esEs4(Right(x0), Right(x1), x2, ty_Int)
new_esEs20(x0, x1, ty_@0)
new_pePe(False, x0)
new_ltEs7(x0, x1, ty_Double)
new_compare28(x0, x1, True, x2, x3)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs21(x0, x1, ty_Integer)
new_esEs22(x0, x1, ty_Double)
new_ltEs19(x0, x1, ty_Char)
new_esEs19(x0, x1, ty_Int)
new_compare29(x0, x1, True)
new_compare15(Integer(x0), Integer(x1))
new_compare29(x0, x1, False)
new_ltEs4(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt16(x0, x1, x2, x3, x4)
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpNat2(x0, Zero)
new_compare6(x0, x1, ty_@0)
new_compare113(x0, x1, True, x2, x3)
new_primPlusNat1(Zero, Zero)
new_ltEs9(x0, x1)
new_compare27(x0, x1, True, x2)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_compare6(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs21(x0, x1, ty_Ordering)
new_esEs24(x0, x1, ty_Integer)
new_ltEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(x0, x1, ty_Char)
new_ltEs19(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs28(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_compare0([], :(x0, x1), x2)
new_ltEs19(x0, x1, ty_Bool)
new_ltEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs26(x0, x1, ty_Bool)
new_primCompAux00(x0, LT)
new_esEs29(x0, x1, ty_Float)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_lt20(x0, x1, ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt10(x0, x1)
new_lt4(x0, x1, x2, x3)
new_lt11(x0, x1, x2)
new_ltEs7(x0, x1, ty_Bool)
new_lt14(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_@0)
new_compare26(x0, x1, True, x2, x3)
new_esEs26(x0, x1, ty_Integer)
new_ltEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_lt15(x0, x1)
new_ltEs7(x0, x1, app(ty_Maybe, x2))
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(Left(x0), Right(x1), x2, x3)
new_ltEs5(Right(x0), Left(x1), x2, x3)
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Ordering)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt14(x0, x1, app(ty_Maybe, x2))
new_compare111(x0, x1, True, x2, x3)
new_ltEs15(False, True)
new_ltEs15(True, False)
new_ltEs17(GT, GT)
new_lt14(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Int)
new_lt14(x0, x1, ty_Bool)
new_esEs25(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_compare110(x0, x1, False, x2, x3, x4)
new_esEs4(Right(x0), Right(x1), x2, ty_Integer)
new_esEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_compare210(x0, x1, True)
new_esEs20(x0, x1, ty_Int)
new_esEs7(Just(x0), Just(x1), ty_Float)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Double)
new_esEs22(x0, x1, ty_Int)
new_ltEs7(x0, x1, ty_Int)
new_ltEs12(Just(x0), Just(x1), ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, ty_Float)
new_lt18(x0, x1)
new_lt13(x0, x1, app(ty_Maybe, x2))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Zero, Succ(x0))
new_esEs15(True, False)
new_esEs15(False, True)
new_esEs7(Just(x0), Just(x1), ty_Int)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, ty_Bool)
new_esEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs4(Right(x0), Right(x1), x2, ty_Char)
new_ltEs7(x0, x1, ty_Char)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt17(x0, x1)
new_asAs(True, x0)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, ty_@0)
new_ltEs7(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Char)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs16(LT, LT)
new_compare17(x0, x1)
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_lt13(x0, x1, ty_Integer)
new_esEs7(Just(x0), Just(x1), ty_Char)
new_esEs26(x0, x1, ty_Ordering)
new_esEs18(x0, x1, ty_Integer)
new_sr0(Integer(x0), Integer(x1))
new_esEs28(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_esEs4(Left(x0), Right(x1), x2, x3)
new_esEs4(Right(x0), Left(x1), x2, x3)
new_ltEs10(x0, x1)
new_esEs22(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_Float)
new_esEs29(x0, x1, ty_Integer)
new_lt12(x0, x1, x2, x3)
new_compare10(x0, x1, True)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_ltEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt6(x0, x1)
new_esEs25(x0, x1, app(ty_[], x2))
new_ltEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs29(x0, x1, ty_Char)
new_lt13(x0, x1, ty_Bool)
new_ltEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs20(x0, x1, ty_Ordering)
new_lt14(x0, x1, ty_Integer)
new_ltEs11(x0, x1, x2)
new_ltEs12(Just(x0), Just(x1), ty_Double)
new_esEs26(x0, x1, app(ty_[], x2))
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_compare6(x0, x1, app(ty_Ratio, x2))
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8([], [], x0)
new_compare112(x0, x1, True, x2)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_asAs(False, x0)
new_compare6(x0, x1, app(ty_Maybe, x2))
new_lt13(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_@0)
new_primPlusNat1(Zero, Succ(x0))
new_compare6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), ty_@0, x2)
new_esEs4(Left(x0), Left(x1), ty_Char, x2)
new_compare6(x0, x1, ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, ty_Integer)
new_esEs7(Just(x0), Just(x1), ty_Integer)
new_ltEs5(Left(x0), Left(x1), ty_Float, x2)
new_compare14(Char(x0), Char(x1))
new_lt13(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs17(LT, GT)
new_ltEs17(GT, LT)
new_ltEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs23(x0, x1, ty_Float)
new_ltEs20(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_[], x2))
new_esEs12(Char(x0), Char(x1))
new_esEs23(x0, x1, ty_Char)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs28(x0, x1, ty_Ordering)
new_esEs4(Right(x0), Right(x1), x2, ty_@0)
new_esEs7(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Char)
new_compare0(:(x0, x1), [], x2)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs27(x0, x1, ty_Int)
new_esEs17(Double(x0, x1), Double(x2, x3))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpNat1(Succ(x0), Zero)
new_ltEs12(Just(x0), Just(x1), ty_Bool)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_compare6(x0, x1, ty_Double)
new_esEs7(Nothing, Nothing, x0)
new_ltEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Double)
new_compare24(x0, x1, False, x2, x3, x4)
new_primCmpNat1(Succ(x0), Succ(x1))
new_primPlusNat1(Succ(x0), Succ(x1))
new_ltEs12(Just(x0), Just(x1), ty_Char)
new_esEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs7(Just(x0), Just(x1), ty_Double)
new_ltEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_compare26(x0, x1, False, x2, x3)
new_ltEs7(x0, x1, ty_Float)
new_not(True)
new_esEs7(Just(x0), Just(x1), ty_Bool)
new_esEs24(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Char)
new_compare6(x0, x1, app(ty_[], x2))
new_esEs16(EQ, LT)
new_esEs16(LT, EQ)
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_compare12(:%(x0, x1), :%(x2, x3), ty_Int)
new_primCmpNat0(Succ(x0), x1)
new_esEs16(EQ, EQ)
new_esEs21(x0, x1, ty_@0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Double)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_ltEs19(x0, x1, ty_Int)
new_not(False)
new_esEs6(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs25(x0, x1, ty_Integer)
new_ltEs12(Just(x0), Just(x1), ty_@0)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Int)
new_esEs23(x0, x1, ty_Ordering)
new_esEs26(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), ty_@0, x2)
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Bool)
new_primMulNat0(Succ(x0), Succ(x1))
new_lt14(x0, x1, ty_@0)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(x0, x1, ty_Float)
new_ltEs13(x0, x1)
new_esEs4(Right(x0), Right(x1), x2, ty_Float)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_lt14(x0, x1, ty_Ordering)
new_compare6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs16(EQ, GT)
new_esEs16(GT, EQ)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt7(x0, x1)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare18(x0, x1, x2, x3)
new_ltEs5(Right(x0), Right(x1), x2, ty_Int)
new_ltEs17(LT, EQ)
new_compare111(x0, x1, False, x2, x3)
new_ltEs17(EQ, LT)
new_esEs7(Just(x0), Nothing, x1)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_lt14(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Integer)
new_esEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs23(x0, x1, ty_Int)
new_compare112(x0, x1, False, x2)
new_esEs26(x0, x1, ty_@0)
new_ltEs5(Left(x0), Left(x1), ty_Int, x2)
new_esEs7(Just(x0), Just(x1), ty_@0)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs12(Nothing, Nothing, x0)
new_ltEs6(x0, x1)
new_ltEs12(Just(x0), Just(x1), ty_Int)
new_esEs19(x0, x1, ty_Integer)
new_compare0([], [], x0)
new_esEs24(x0, x1, ty_Double)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_lt14(x0, x1, ty_Double)
new_ltEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs23(x0, x1, ty_Bool)
new_esEs8([], :(x0, x1), x2)
new_ltEs19(x0, x1, ty_Integer)
new_primPlusNat0(Zero, x0)
new_primEqNat0(Zero, Succ(x0))
new_esEs25(x0, x1, ty_Double)
new_esEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs5(Left(x0), Left(x1), ty_Double, x2)
new_primCmpNat2(x0, Succ(x1))
new_esEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs11(:%(x0, x1), :%(x2, x3), x4)
new_esEs22(x0, x1, ty_Integer)
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_lt13(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_lt13(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare11(x0, x1, False)
new_esEs20(x0, x1, ty_Char)
new_ltEs17(EQ, EQ)
new_esEs22(x0, x1, ty_Char)
new_ltEs17(LT, LT)
new_esEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Bool)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_compare11(x0, x1, True)
new_esEs7(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Bool)
new_lt13(x0, x1, ty_Ordering)
new_esEs20(x0, x1, app(ty_Ratio, x2))

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ AND
                                        ↳ QDP
QDP
                                          ↳ UsableRulesProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_splitGT2(ywz400, ywz41, ywz42, ywz43, Branch(ywz440, ywz441, ywz442, ywz443, ywz444), True, h, ba) → new_splitGT3(ywz440, ywz441, ywz442, ywz443, ywz444, Nothing, h, ba)
new_splitGT3(Just(ywz400), ywz41, ywz42, ywz43, ywz44, Nothing, h, ba) → new_splitGT2(ywz400, ywz41, ywz42, ywz43, ywz44, new_esEs16(new_compare27(Nothing, Just(ywz400), False, h), GT), h, ba)
new_splitGT3(Nothing, ywz41, ywz42, ywz43, ywz44, Nothing, h, ba) → new_splitGT1(ywz41, ywz42, ywz43, ywz44, new_lt5(Nothing, Nothing, h), h, ba)
new_splitGT10(ywz400, ywz41, ywz42, ywz43, ywz44, True, h, ba) → new_splitGT(ywz43, h, ba)
new_splitGT(Branch(ywz440, ywz441, ywz442, ywz443, ywz444), h, ba) → new_splitGT3(ywz440, ywz441, ywz442, ywz443, ywz444, Nothing, h, ba)
new_splitGT1(ywz41, ywz42, ywz43, ywz44, True, h, ba) → new_splitGT(ywz43, h, ba)
new_splitGT2(ywz400, ywz41, ywz42, ywz43, ywz44, False, h, ba) → new_splitGT10(ywz400, ywz41, ywz42, ywz43, ywz44, new_lt5(Nothing, Just(ywz400), h), h, ba)

The TRS R consists of the following rules:

new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(ty_@2, hc), hd), fb) → new_ltEs16(ywz5000, ywz4000, hc, hd)
new_esEs26(ywz5000, ywz4000, app(ty_[], bdg)) → new_esEs8(ywz5000, ywz4000, bdg)
new_esEs23(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs22(ywz5002, ywz4002, ty_Double) → new_esEs17(ywz5002, ywz4002)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_Maybe, cd)) → new_esEs7(ywz5000, ywz4000, cd)
new_ltEs7(ywz500, ywz400, app(ty_Ratio, ef)) → new_ltEs11(ywz500, ywz400, ef)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_esEs7(ywz5000, ywz4000, bba)
new_compare112(ywz95, ywz96, True, bdf) → LT
new_ltEs19(ywz5002, ywz4002, app(ty_[], bcd)) → new_ltEs8(ywz5002, ywz4002, bcd)
new_compare6(ywz5000, ywz4000, ty_Double) → new_compare25(ywz5000, ywz4000)
new_esEs16(EQ, GT) → False
new_esEs16(GT, EQ) → False
new_ltEs19(ywz5002, ywz4002, app(ty_Ratio, bcg)) → new_ltEs11(ywz5002, ywz4002, bcg)
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, bcb), bcc)) → new_esEs6(ywz5001, ywz4001, bcb, bcc)
new_ltEs20(ywz5001, ywz4001, ty_Int) → new_ltEs9(ywz5001, ywz4001)
new_ltEs15(True, False) → False
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs17(LT, LT) → True
new_esEs25(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(app(app(ty_@3, bbg), bbh), bca)) → new_esEs5(ywz5001, ywz4001, bbg, bbh, bca)
new_compare6(ywz5000, ywz4000, app(app(ty_@2, ed), ee)) → new_compare18(ywz5000, ywz4000, ed, ee)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Int) → new_ltEs9(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_[], dd)) → new_compare0(ywz5000, ywz4000, dd)
new_ltEs7(ywz500, ywz400, app(ty_[], dc)) → new_ltEs8(ywz500, ywz400, dc)
new_lt20(ywz5000, ywz4000, ty_Int) → new_lt10(ywz5000, ywz4000)
new_esEs29(ywz500, ywz400, ty_Integer) → new_esEs13(ywz500, ywz400)
new_compare6(ywz5000, ywz4000, ty_Integer) → new_compare15(ywz5000, ywz4000)
new_primCmpNat1(Zero, Succ(ywz400000)) → LT
new_lt14(ywz5000, ywz4000, app(app(ty_@2, ga), gb)) → new_lt4(ywz5000, ywz4000, ga, gb)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_lt19(ywz5000, ywz4000) → new_esEs16(new_compare25(ywz5000, ywz4000), LT)
new_esEs26(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_[], bh)) → new_esEs8(ywz5000, ywz4000, bh)
new_compare27(Just(ywz500), Just(ywz400), False, h) → new_compare112(ywz500, ywz400, new_ltEs7(ywz500, ywz400, h), h)
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_esEs7(ywz5000, ywz4000, bec)
new_esEs29(ywz500, ywz400, ty_Int) → new_esEs9(ywz500, ywz400)
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, app(app(ty_Either, eg), eh)) → new_lt12(ywz5000, ywz4000, eg, eh)
new_esEs22(ywz5002, ywz4002, ty_Char) → new_esEs12(ywz5002, ywz4002)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Double) → new_ltEs18(ywz5000, ywz4000)
new_esEs29(ywz500, ywz400, ty_Ordering) → new_esEs16(ywz500, ywz400)
new_ltEs10(ywz500, ywz400) → new_not(new_esEs16(new_compare8(ywz500, ywz400), GT))
new_ltEs12(Nothing, Nothing, bg) → True
new_primMulNat0(Zero, Zero) → Zero
new_esEs24(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs8(:(ywz5000, ywz5001), :(ywz4000, ywz4001), dc) → new_asAs(new_esEs25(ywz5000, ywz4000, dc), new_esEs8(ywz5001, ywz4001, dc))
new_lt13(ywz5001, ywz4001, ty_@0) → new_lt7(ywz5001, ywz4001)
new_lt20(ywz5000, ywz4000, ty_@0) → new_lt7(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Int, fb) → new_ltEs9(ywz5000, ywz4000)
new_compare29(ywz5000, ywz4000, True) → EQ
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(ty_[], he)) → new_esEs8(ywz5000, ywz4000, he)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs5(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), fc, fd, ff) → new_asAs(new_esEs20(ywz5000, ywz4000, fc), new_asAs(new_esEs21(ywz5001, ywz4001, fd), new_esEs22(ywz5002, ywz4002, ff)))
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(ty_[], he)) → new_ltEs8(ywz5000, ywz4000, he)
new_lt20(ywz5000, ywz4000, ty_Float) → new_lt6(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_Char) → new_ltEs6(ywz500, ywz400)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Integer) → new_ltEs13(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Float) → new_ltEs10(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(ty_Either, bdh), bea)) → new_lt12(ywz5000, ywz4000, bdh, bea)
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs29(ywz500, ywz400, app(app(ty_Either, fa), fb)) → new_esEs4(ywz500, ywz400, fa, fb)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_compare16(@0, @0) → EQ
new_compare29(ywz5000, ywz4000, False) → new_compare11(ywz5000, ywz4000, new_ltEs17(ywz5000, ywz4000))
new_esEs29(ywz500, ywz400, app(ty_Maybe, bg)) → new_esEs7(ywz500, ywz400, bg)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_Ratio, cc)) → new_esEs11(ywz5000, ywz4000, cc)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, eg), eh)) → new_esEs4(ywz5000, ywz4000, eg, eh)
new_esEs19(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(ty_@2, hc), hd), fb) → new_esEs6(ywz5000, ywz4000, hc, hd)
new_compare9(ywz5000, ywz4000, eg, eh) → new_compare26(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, eg, eh), eg, eh)
new_ltEs5(Left(ywz5000), Right(ywz4000), fa, fb) → True
new_lt14(ywz5000, ywz4000, ty_Int) → new_lt10(ywz5000, ywz4000)
new_compare0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), dc) → new_primCompAux0(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, dc), dc)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(ty_@2, da), db)) → new_esEs6(ywz5000, ywz4000, da, db)
new_ltEs7(ywz500, ywz400, ty_Double) → new_ltEs18(ywz500, ywz400)
new_primCmpNat1(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat1(ywz500000, ywz400000)
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(app(ty_Either, hf), hg)) → new_ltEs5(ywz5000, ywz4000, hf, hg)
new_lt14(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_lt5(ywz5000, ywz4000, bba)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Float, fb) → new_ltEs10(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, app(ty_Maybe, bch)) → new_ltEs12(ywz5002, ywz4002, bch)
new_ltEs13(ywz500, ywz400) → new_not(new_esEs16(new_compare15(ywz500, ywz400), GT))
new_compare6(ywz5000, ywz4000, ty_@0) → new_compare16(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, ga), gb)) → new_esEs6(ywz5000, ywz4000, ga, gb)
new_esEs28(ywz5001, ywz4001, app(app(app(ty_@3, bff), bfg), bfh)) → new_esEs5(ywz5001, ywz4001, bff, bfg, bfh)
new_esEs22(ywz5002, ywz4002, app(ty_[], bcd)) → new_esEs8(ywz5002, ywz4002, bcd)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_ltEs9(ywz500, ywz400) → new_not(new_esEs16(new_compare7(ywz500, ywz400), GT))
new_ltEs5(Right(ywz5000), Left(ywz4000), fa, fb) → False
new_ltEs19(ywz5002, ywz4002, ty_Char) → new_ltEs6(ywz5002, ywz4002)
new_ltEs17(EQ, LT) → False
new_pePe(False, ywz175) → ywz175
new_esEs27(ywz5000, ywz4000, app(ty_[], bdg)) → new_esEs8(ywz5000, ywz4000, bdg)
new_esEs25(ywz5000, ywz4000, app(app(ty_Either, de), df)) → new_esEs4(ywz5000, ywz4000, de, df)
new_esEs15(True, False) → False
new_esEs15(False, True) → False
new_ltEs15(True, True) → True
new_ltEs19(ywz5002, ywz4002, ty_Float) → new_ltEs10(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, app(app(ty_Either, bce), bcf)) → new_esEs4(ywz5002, ywz4002, bce, bcf)
new_compare6(ywz5000, ywz4000, ty_Bool) → new_compare17(ywz5000, ywz4000)
new_ltEs15(False, True) → True
new_esEs26(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(ty_Maybe, bbf)) → new_esEs7(ywz5001, ywz4001, bbf)
new_lt13(ywz5001, ywz4001, ty_Integer) → new_lt8(ywz5001, ywz4001)
new_esEs23(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_esEs7(ywz5000, ywz4000, bba)
new_esEs10(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs9(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Integer, fb) → new_ltEs13(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_Ratio, cc)) → new_ltEs11(ywz5000, ywz4000, cc)
new_ltEs15(False, False) → True
new_esEs26(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_lt17(ywz5000, ywz4000) → new_esEs16(new_compare17(ywz5000, ywz4000), LT)
new_compare27(Nothing, Just(ywz400), False, h) → LT
new_esEs20(ywz5000, ywz4000, app(ty_[], bag)) → new_esEs8(ywz5000, ywz4000, bag)
new_esEs25(ywz5000, ywz4000, app(app(ty_@2, ed), ee)) → new_esEs6(ywz5000, ywz4000, ed, ee)
new_compare14(Char(ywz5000), Char(ywz4000)) → new_primCmpNat1(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Char, fb) → new_ltEs6(ywz5000, ywz4000)
new_compare18(ywz5000, ywz4000, ga, gb) → new_compare28(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, ga, gb), ga, gb)
new_esEs25(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Char, fb) → new_esEs12(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, app(app(app(ty_@3, bda), bdb), bdc)) → new_ltEs4(ywz5002, ywz4002, bda, bdb, bdc)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(ty_@2, da), db)) → new_ltEs16(ywz5000, ywz4000, da, db)
new_lt14(ywz5000, ywz4000, ty_Char) → new_lt15(ywz5000, ywz4000)
new_lt5(ywz50, ywz40, h) → new_esEs16(new_compare13(ywz50, ywz40, h), LT)
new_esEs28(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, app(app(ty_@2, bcb), bcc)) → new_esEs6(ywz5001, ywz4001, bcb, bcc)
new_compare0([], [], dc) → EQ
new_pePe(True, ywz175) → True
new_primEqNat0(Zero, Zero) → True
new_esEs19(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs14(@0, @0) → True
new_compare111(ywz5000, ywz4000, False, eg, eh) → GT
new_esEs28(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_compare17(ywz5000, ywz4000) → new_compare210(ywz5000, ywz4000, new_esEs15(ywz5000, ywz4000))
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_[], bh)) → new_ltEs8(ywz5000, ywz4000, bh)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_@0) → new_ltEs14(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_@0, fb) → new_ltEs14(ywz5000, ywz4000)
new_esEs16(LT, GT) → False
new_esEs16(GT, LT) → False
new_lt20(ywz5000, ywz4000, app(ty_[], bdg)) → new_lt9(ywz5000, ywz4000, bdg)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_ltEs17(GT, LT) → False
new_sr(ywz5001, ywz4001) → new_primMulInt(ywz5001, ywz4001)
new_compare7(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_primCmpNat1(Zero, Zero) → EQ
new_ltEs7(ywz500, ywz400, ty_Integer) → new_ltEs13(ywz500, ywz400)
new_esEs24(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Int, fb) → new_esEs9(ywz5000, ywz4000)
new_ltEs20(ywz5001, ywz4001, app(ty_Ratio, bfd)) → new_ltEs11(ywz5001, ywz4001, bfd)
new_primPlusNat0(Succ(ywz1950), ywz400100) → Succ(Succ(new_primPlusNat1(ywz1950, ywz400100)))
new_ltEs11(ywz500, ywz400, ef) → new_not(new_esEs16(new_compare12(ywz500, ywz400, ef), GT))
new_ltEs19(ywz5002, ywz4002, ty_Bool) → new_ltEs15(ywz5002, ywz4002)
new_lt14(ywz5000, ywz4000, app(ty_Ratio, bah)) → new_lt11(ywz5000, ywz4000, bah)
new_esEs28(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs13(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_primCmpNat1(Succ(ywz500000), Zero) → GT
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(app(ty_Either, hf), hg)) → new_esEs4(ywz5000, ywz4000, hf, hg)
new_compare24(ywz5000, ywz4000, True, bd, be, bf) → EQ
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Ordering, fb) → new_ltEs17(ywz5000, ywz4000)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_ltEs20(ywz5001, ywz4001, app(app(app(ty_@3, bff), bfg), bfh)) → new_ltEs4(ywz5001, ywz4001, bff, bfg, bfh)
new_esEs24(ywz5001, ywz4001, app(ty_Ratio, bbe)) → new_esEs11(ywz5001, ywz4001, bbe)
new_lt20(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_lt11(ywz5000, ywz4000, beb)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs15(True, True) → True
new_compare113(ywz5000, ywz4000, True, ga, gb) → LT
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(ty_Either, gd), ge), fb) → new_esEs4(ywz5000, ywz4000, gd, ge)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, gh), ha), hb), fb) → new_esEs5(ywz5000, ywz4000, gh, ha, hb)
new_primCompAux0(ywz5000, ywz4000, ywz228, dc) → new_primCompAux00(ywz228, new_compare6(ywz5000, ywz4000, dc))
new_ltEs17(LT, GT) → True
new_primPlusNat1(Succ(ywz19500), Zero) → Succ(ywz19500)
new_primPlusNat1(Zero, Succ(ywz4001000)) → Succ(ywz4001000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Ordering) → new_ltEs17(ywz5000, ywz4000)
new_compare27(Just(ywz500), Nothing, False, h) → GT
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Float) → new_ltEs10(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_@0) → new_ltEs14(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_Ratio, dg)) → new_compare12(ywz5000, ywz4000, dg)
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, app(ty_[], bfa)) → new_esEs8(ywz5001, ywz4001, bfa)
new_lt13(ywz5001, ywz4001, ty_Float) → new_lt6(ywz5001, ywz4001)
new_compare27(Nothing, Nothing, False, h) → LT
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_lt18(ywz5000, ywz4000) → new_esEs16(new_compare19(ywz5000, ywz4000), LT)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_Ratio, gf), fb) → new_esEs11(ywz5000, ywz4000, gf)
new_compare6(ywz5000, ywz4000, ty_Char) → new_compare14(ywz5000, ywz4000)
new_primCmpNat0(Succ(ywz40000), ywz50000) → new_primCmpNat1(ywz40000, ywz50000)
new_esEs8([], [], dc) → True
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_lt20(ywz5000, ywz4000, ty_Integer) → new_lt8(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, ty_Ordering) → new_lt18(ywz5000, ywz4000)
new_compare26(ywz5000, ywz4000, True, eg, eh) → EQ
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Char) → new_ltEs6(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bbc), bbd)) → new_esEs4(ywz5001, ywz4001, bbc, bbd)
new_esEs22(ywz5002, ywz4002, app(app(app(ty_@3, bda), bdb), bdc)) → new_esEs5(ywz5002, ywz4002, bda, bdb, bdc)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_lt5(ywz5000, ywz4000, bec)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_ltEs17(EQ, EQ) → True
new_ltEs20(ywz5001, ywz4001, app(ty_[], bfa)) → new_ltEs8(ywz5001, ywz4001, bfa)
new_ltEs19(ywz5002, ywz4002, ty_Ordering) → new_ltEs17(ywz5002, ywz4002)
new_compare12(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare7(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_lt13(ywz5001, ywz4001, ty_Char) → new_lt15(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_Maybe, gg), fb) → new_ltEs12(ywz5000, ywz4000, gg)
new_esEs23(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_@0) → new_ltEs14(ywz500, ywz400)
new_ltEs8(ywz500, ywz400, dc) → new_not(new_esEs16(new_compare0(ywz500, ywz400, dc), GT))
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(ty_Either, gd), ge), fb) → new_ltEs5(ywz5000, ywz4000, gd, ge)
new_compare19(ywz5000, ywz4000) → new_compare29(ywz5000, ywz4000, new_esEs16(ywz5000, ywz4000))
new_lt15(ywz5000, ywz4000) → new_esEs16(new_compare14(ywz5000, ywz4000), LT)
new_esEs25(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(ty_[], dd)) → new_esEs8(ywz5000, ywz4000, dd)
new_lt9(ywz5000, ywz4000, bag) → new_esEs16(new_compare0(ywz5000, ywz4000, bag), LT)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_Ratio, gf), fb) → new_ltEs11(ywz5000, ywz4000, gf)
new_lt14(ywz5000, ywz4000, ty_Double) → new_lt19(ywz5000, ywz4000)
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_lt14(ywz5000, ywz4000, app(app(app(ty_@3, bd), be), bf)) → new_lt16(ywz5000, ywz4000, bd, be, bf)
new_esEs23(ywz5000, ywz4000, app(ty_[], bag)) → new_esEs8(ywz5000, ywz4000, bag)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Ordering, fb) → new_esEs16(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, app(app(ty_@2, fg), fh)) → new_ltEs16(ywz500, ywz400, fg, fh)
new_ltEs7(ywz500, ywz400, ty_Float) → new_ltEs10(ywz500, ywz400)
new_compare113(ywz5000, ywz4000, False, ga, gb) → GT
new_lt14(ywz5000, ywz4000, ty_Float) → new_lt6(ywz5000, ywz4000)
new_ltEs4(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), fc, fd, ff) → new_pePe(new_lt14(ywz5000, ywz4000, fc), new_asAs(new_esEs23(ywz5000, ywz4000, fc), new_pePe(new_lt13(ywz5001, ywz4001, fd), new_asAs(new_esEs24(ywz5001, ywz4001, fd), new_ltEs19(ywz5002, ywz4002, ff)))))
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_ltEs17(ywz5000, ywz4000)
new_primCompAux00(ywz280, LT) → LT
new_esEs23(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_esEs5(ywz5000, ywz4000, bed, bee, bef)
new_esEs7(Nothing, Nothing, bg) → True
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_esEs29(ywz500, ywz400, app(ty_[], dc)) → new_esEs8(ywz500, ywz400, dc)
new_esEs22(ywz5002, ywz4002, ty_Integer) → new_esEs13(ywz5002, ywz4002)
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, app(ty_Maybe, bfe)) → new_ltEs12(ywz5001, ywz4001, bfe)
new_ltEs20(ywz5001, ywz4001, ty_Integer) → new_ltEs13(ywz5001, ywz4001)
new_compare5(ywz5000, ywz4000, bd, be, bf) → new_compare24(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bd, be, bf), bd, be, bf)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Double, fb) → new_esEs17(ywz5000, ywz4000)
new_compare8(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare7(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs17(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs9(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(app(app(ty_@3, bab), bac), bad)) → new_esEs5(ywz5000, ywz4000, bab, bac, bad)
new_lt20(ywz5000, ywz4000, app(app(ty_@2, beg), beh)) → new_lt4(ywz5000, ywz4000, beg, beh)
new_lt12(ywz5000, ywz4000, eg, eh) → new_esEs16(new_compare9(ywz5000, ywz4000, eg, eh), LT)
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_ltEs20(ywz5001, ywz4001, ty_@0) → new_ltEs14(ywz5001, ywz4001)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(app(app(ty_@3, bab), bac), bad)) → new_ltEs4(ywz5000, ywz4000, bab, bac, bad)
new_sr0(Integer(ywz40000), Integer(ywz50010)) → Integer(new_primMulInt(ywz40000, ywz50010))
new_primPlusNat1(Succ(ywz19500), Succ(ywz4001000)) → Succ(Succ(new_primPlusNat1(ywz19500, ywz4001000)))
new_lt13(ywz5001, ywz4001, app(ty_Maybe, bbf)) → new_lt5(ywz5001, ywz4001, bbf)
new_compare28(ywz5000, ywz4000, True, ga, gb) → EQ
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_Maybe, cd)) → new_ltEs12(ywz5000, ywz4000, cd)
new_esEs7(Just(ywz5000), Nothing, bg) → False
new_esEs7(Nothing, Just(ywz4000), bg) → False
new_esEs25(ywz5000, ywz4000, app(ty_Ratio, dg)) → new_esEs11(ywz5000, ywz4000, dg)
new_compare6(ywz5000, ywz4000, app(app(ty_Either, de), df)) → new_compare9(ywz5000, ywz4000, de, df)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, ce), cf), cg)) → new_ltEs4(ywz5000, ywz4000, ce, cf, cg)
new_ltEs20(ywz5001, ywz4001, ty_Double) → new_ltEs18(ywz5001, ywz4001)
new_esEs29(ywz500, ywz400, ty_@0) → new_esEs14(ywz500, ywz400)
new_esEs25(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs22(ywz5002, ywz4002, app(app(ty_@2, bdd), bde)) → new_esEs6(ywz5002, ywz4002, bdd, bde)
new_esEs26(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_esEs11(ywz5000, ywz4000, beb)
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primCompAux00(ywz280, EQ) → ywz280
new_esEs23(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_lt11(ywz5000, ywz4000, bah) → new_esEs16(new_compare12(ywz5000, ywz4000, bah), LT)
new_esEs25(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_primCmpNat0(Zero, ywz50000) → LT
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, ty_Double) → new_ltEs18(ywz5002, ywz4002)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, app(ty_[], bbb)) → new_lt9(ywz5001, ywz4001, bbb)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Bool) → new_ltEs15(ywz5000, ywz4000)
new_ltEs14(ywz500, ywz400) → new_not(new_esEs16(new_compare16(ywz500, ywz400), GT))
new_compare6(ywz5000, ywz4000, ty_Float) → new_compare8(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(ty_Ratio, hh)) → new_ltEs11(ywz5000, ywz4000, hh)
new_ltEs6(ywz500, ywz400) → new_not(new_esEs16(new_compare14(ywz500, ywz400), GT))
new_esEs12(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, app(app(ty_Either, bbc), bbd)) → new_lt12(ywz5001, ywz4001, bbc, bbd)
new_not(False) → True
new_esEs23(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs18(ywz500, ywz400) → new_not(new_esEs16(new_compare25(ywz500, ywz400), GT))
new_primPlusNat0(Zero, ywz400100) → Succ(ywz400100)
new_esEs23(ywz5000, ywz4000, app(app(ty_@2, ga), gb)) → new_esEs6(ywz5000, ywz4000, ga, gb)
new_compare210(ywz5000, ywz4000, False) → new_compare10(ywz5000, ywz4000, new_ltEs15(ywz5000, ywz4000))
new_esEs11(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ef) → new_asAs(new_esEs18(ywz5000, ywz4000, ef), new_esEs19(ywz5001, ywz4001, ef))
new_esEs16(LT, EQ) → False
new_esEs16(EQ, LT) → False
new_esEs25(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(ty_[], bbb)) → new_esEs8(ywz5001, ywz4001, bbb)
new_compare25(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare7(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Double) → new_ltEs18(ywz5000, ywz4000)
new_compare0(:(ywz5000, ywz5001), [], dc) → GT
new_ltEs16(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), fg, fh) → new_pePe(new_lt20(ywz5000, ywz4000, fg), new_asAs(new_esEs26(ywz5000, ywz4000, fg), new_ltEs20(ywz5001, ywz4001, fh)))
new_esEs23(ywz5000, ywz4000, app(ty_Ratio, bah)) → new_esEs11(ywz5000, ywz4000, bah)
new_lt20(ywz5000, ywz4000, ty_Ordering) → new_lt18(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_Bool) → new_ltEs15(ywz500, ywz400)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(app(ty_@2, bae), baf)) → new_esEs6(ywz5000, ywz4000, bae, baf)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_[], gc), fb) → new_esEs8(ywz5000, ywz4000, gc)
new_lt13(ywz5001, ywz4001, ty_Ordering) → new_lt18(ywz5001, ywz4001)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, bah)) → new_esEs11(ywz5000, ywz4000, bah)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, bd), be), bf)) → new_esEs5(ywz5000, ywz4000, bd, be, bf)
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_ltEs19(ywz5002, ywz4002, ty_Int) → new_ltEs9(ywz5002, ywz4002)
new_esEs28(ywz5001, ywz4001, app(ty_Maybe, bfe)) → new_esEs7(ywz5001, ywz4001, bfe)
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bbg), bbh), bca)) → new_esEs5(ywz5001, ywz4001, bbg, bbh, bca)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat0(Zero, ywz40000)
new_ltEs7(ywz500, ywz400, app(app(ty_Either, fa), fb)) → new_ltEs5(ywz500, ywz400, fa, fb)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bbf)) → new_esEs7(ywz5001, ywz4001, bbf)
new_primMulInt(Pos(ywz50010), Pos(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Bool, fb) → new_esEs15(ywz5000, ywz4000)
new_esEs18(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, app(app(ty_Either, eg), eh)) → new_esEs4(ywz5000, ywz4000, eg, eh)
new_lt7(ywz5000, ywz4000) → new_esEs16(new_compare16(ywz5000, ywz4000), LT)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_Maybe, gg), fb) → new_esEs7(ywz5000, ywz4000, gg)
new_compare13(ywz50, ywz40, h) → new_compare27(ywz50, ywz40, new_esEs7(ywz50, ywz40, h), h)
new_primMulInt(Neg(ywz50010), Neg(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, beg), beh)) → new_esEs6(ywz5000, ywz4000, beg, beh)
new_esEs16(EQ, EQ) → True
new_esEs29(ywz500, ywz400, app(app(ty_@2, fg), fh)) → new_esEs6(ywz500, ywz400, fg, fh)
new_esEs24(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_esEs26(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, app(app(ty_Either, bce), bcf)) → new_ltEs5(ywz5002, ywz4002, bce, bcf)
new_primEqNat0(Succ(ywz50000), Zero) → False
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, app(ty_Ratio, bbe)) → new_lt11(ywz5001, ywz4001, bbe)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs7(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(app(ty_Either, bbc), bbd)) → new_esEs4(ywz5001, ywz4001, bbc, bbd)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, bdh), bea)) → new_esEs4(ywz5000, ywz4000, bdh, bea)
new_compare210(ywz5000, ywz4000, True) → EQ
new_esEs22(ywz5002, ywz4002, ty_Int) → new_esEs9(ywz5002, ywz4002)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Float, fb) → new_esEs10(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Bool, fb) → new_ltEs15(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, ty_Integer) → new_lt8(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat2(ywz40000, Zero)
new_lt14(ywz5000, ywz4000, app(ty_[], bag)) → new_lt9(ywz5000, ywz4000, bag)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Char) → new_ltEs6(ywz5000, ywz4000)
new_esEs29(ywz500, ywz400, app(app(app(ty_@3, fc), fd), ff)) → new_esEs5(ywz500, ywz400, fc, fd, ff)
new_lt13(ywz5001, ywz4001, ty_Double) → new_lt19(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_compare12(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare15(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_[], gc), fb) → new_ltEs8(ywz5000, ywz4000, gc)
new_compare6(ywz5000, ywz4000, app(app(app(ty_@3, ea), eb), ec)) → new_compare5(ywz5000, ywz4000, ea, eb, ec)
new_compare6(ywz5000, ywz4000, ty_Ordering) → new_compare19(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, app(app(ty_@2, bcb), bcc)) → new_lt4(ywz5001, ywz4001, bcb, bcc)
new_esEs26(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs28(ywz5001, ywz4001, app(app(ty_@2, bga), bgb)) → new_esEs6(ywz5001, ywz4001, bga, bgb)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(ty_Either, ca), cb)) → new_ltEs5(ywz5000, ywz4000, ca, cb)
new_lt14(ywz5000, ywz4000, ty_Bool) → new_lt17(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(ty_Maybe, dh)) → new_esEs7(ywz5000, ywz4000, dh)
new_lt10(ywz5000, ywz4000) → new_esEs16(new_compare7(ywz5000, ywz4000), LT)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, ce), cf), cg)) → new_esEs5(ywz5000, ywz4000, ce, cf, cg)
new_ltEs20(ywz5001, ywz4001, ty_Ordering) → new_ltEs17(ywz5001, ywz4001)
new_esEs25(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Integer, fb) → new_esEs13(ywz5000, ywz4000)
new_primCmpNat2(ywz50000, Succ(ywz40000)) → new_primCmpNat1(ywz50000, ywz40000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Double, fb) → new_ltEs18(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_ltEs7(ywz500, ywz400, ty_Int) → new_ltEs9(ywz500, ywz400)
new_esEs29(ywz500, ywz400, ty_Bool) → new_esEs15(ywz500, ywz400)
new_lt13(ywz5001, ywz4001, ty_Int) → new_lt10(ywz5001, ywz4001)
new_esEs16(LT, LT) → True
new_asAs(False, ywz102) → False
new_lt20(ywz5000, ywz4000, ty_Double) → new_lt19(ywz5000, ywz4000)
new_primMulInt(Neg(ywz50010), Pos(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Pos(ywz50010), Neg(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_esEs29(ywz500, ywz400, ty_Char) → new_esEs12(ywz500, ywz400)
new_primMulNat0(Zero, Succ(ywz400100)) → Zero
new_primMulNat0(Succ(ywz500100), Zero) → Zero
new_ltEs20(ywz5001, ywz4001, ty_Bool) → new_ltEs15(ywz5001, ywz4001)
new_esEs26(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs22(ywz5002, ywz4002, ty_Ordering) → new_esEs16(ywz5002, ywz4002)
new_esEs16(GT, GT) → True
new_primCmpNat2(ywz50000, Zero) → GT
new_esEs24(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_esEs23(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs29(ywz500, ywz400, ty_Double) → new_esEs17(ywz500, ywz400)
new_esEs26(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_esEs7(ywz5000, ywz4000, bec)
new_lt8(ywz5000, ywz4000) → new_esEs16(new_compare15(ywz5000, ywz4000), LT)
new_compare110(ywz5000, ywz4000, True, bd, be, bf) → LT
new_esEs25(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs29(ywz500, ywz400, ty_Float) → new_esEs10(ywz500, ywz400)
new_esEs28(ywz5001, ywz4001, app(app(ty_Either, bfb), bfc)) → new_esEs4(ywz5001, ywz4001, bfb, bfc)
new_esEs23(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(ty_Maybe, baa)) → new_esEs7(ywz5000, ywz4000, baa)
new_esEs21(ywz5001, ywz4001, app(ty_[], bbb)) → new_esEs8(ywz5001, ywz4001, bbb)
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_compare26(ywz5000, ywz4000, False, eg, eh) → new_compare111(ywz5000, ywz4000, new_ltEs5(ywz5000, ywz4000, eg, eh), eg, eh)
new_esEs28(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_ltEs12(Nothing, Just(ywz4000), bg) → True
new_ltEs17(GT, GT) → True
new_ltEs19(ywz5002, ywz4002, ty_@0) → new_ltEs14(ywz5002, ywz4002)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(ty_Either, ca), cb)) → new_esEs4(ywz5000, ywz4000, ca, cb)
new_esEs24(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_ltEs17(GT, EQ) → False
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(ty_Ratio, hh)) → new_esEs11(ywz5000, ywz4000, hh)
new_esEs22(ywz5002, ywz4002, ty_Bool) → new_esEs15(ywz5002, ywz4002)
new_lt13(ywz5001, ywz4001, app(app(app(ty_@3, bbg), bbh), bca)) → new_lt16(ywz5001, ywz4001, bbg, bbh, bca)
new_esEs28(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_lt20(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_lt16(ywz5000, ywz4000, bed, bee, bef)
new_esEs18(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Float) → new_ltEs10(ywz5001, ywz4001)
new_lt16(ywz5000, ywz4000, bd, be, bf) → new_esEs16(new_compare5(ywz5000, ywz4000, bd, be, bf), LT)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs10(ywz5000, ywz4000)
new_compare11(ywz5000, ywz4000, False) → GT
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Bool) → new_ltEs15(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_Ordering) → new_ltEs17(ywz500, ywz400)
new_compare11(ywz5000, ywz4000, True) → LT
new_esEs22(ywz5002, ywz4002, ty_@0) → new_esEs14(ywz5002, ywz4002)
new_esEs25(ywz5000, ywz4000, app(app(app(ty_@3, ea), eb), ec)) → new_esEs5(ywz5000, ywz4000, ea, eb, ec)
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat0(ywz4000, ywz50000)
new_compare28(ywz5000, ywz4000, False, ga, gb) → new_compare113(ywz5000, ywz4000, new_ltEs16(ywz5000, ywz4000, ga, gb), ga, gb)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(app(ty_@2, bae), baf)) → new_ltEs16(ywz5000, ywz4000, bae, baf)
new_lt13(ywz5001, ywz4001, ty_Bool) → new_lt17(ywz5001, ywz4001)
new_lt6(ywz5000, ywz4000) → new_esEs16(new_compare8(ywz5000, ywz4000), LT)
new_esEs28(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_compare112(ywz95, ywz96, False, bdf) → GT
new_compare27(ywz50, ywz40, True, h) → EQ
new_esEs22(ywz5002, ywz4002, ty_Float) → new_esEs10(ywz5002, ywz4002)
new_lt14(ywz5000, ywz4000, ty_@0) → new_lt7(ywz5000, ywz4000)
new_esEs28(ywz5001, ywz4001, app(ty_Ratio, bfd)) → new_esEs11(ywz5001, ywz4001, bfd)
new_esEs26(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_esEs11(ywz5000, ywz4000, beb)
new_esEs28(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Char) → new_ltEs6(ywz5001, ywz4001)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_compare15(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, ty_Int) → new_compare7(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(ty_Maybe, baa)) → new_ltEs12(ywz5000, ywz4000, baa)
new_compare0([], :(ywz4000, ywz4001), dc) → LT
new_compare111(ywz5000, ywz4000, True, eg, eh) → LT
new_primPlusNat1(Zero, Zero) → Zero
new_ltEs19(ywz5002, ywz4002, app(app(ty_@2, bdd), bde)) → new_ltEs16(ywz5002, ywz4002, bdd, bde)
new_esEs26(ywz5000, ywz4000, app(app(ty_Either, bdh), bea)) → new_esEs4(ywz5000, ywz4000, bdh, bea)
new_asAs(True, ywz102) → ywz102
new_primMulNat0(Succ(ywz500100), Succ(ywz400100)) → new_primPlusNat0(new_primMulNat0(ywz500100, Succ(ywz400100)), ywz400100)
new_esEs26(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_esEs5(ywz5000, ywz4000, bed, bee, bef)
new_ltEs17(LT, EQ) → True
new_esEs4(Left(ywz5000), Right(ywz4000), fa, fb) → False
new_esEs4(Right(ywz5000), Left(ywz4000), fa, fb) → False
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Int) → new_ltEs9(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Nothing, bg) → False
new_lt20(ywz5000, ywz4000, ty_Bool) → new_lt17(ywz5000, ywz4000)
new_esEs29(ywz500, ywz400, app(ty_Ratio, ef)) → new_esEs11(ywz500, ywz400, ef)
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Char) → new_lt15(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_Maybe, dh)) → new_compare13(ywz5000, ywz4000, dh)
new_compare24(ywz5000, ywz4000, False, bd, be, bf) → new_compare110(ywz5000, ywz4000, new_ltEs4(ywz5000, ywz4000, bd, be, bf), bd, be, bf)
new_ltEs19(ywz5002, ywz4002, ty_Integer) → new_ltEs13(ywz5002, ywz4002)
new_esEs26(ywz5000, ywz4000, app(app(ty_@2, beg), beh)) → new_esEs6(ywz5000, ywz4000, beg, beh)
new_esEs23(ywz5000, ywz4000, app(app(app(ty_@3, bd), be), bf)) → new_esEs5(ywz5000, ywz4000, bd, be, bf)
new_lt4(ywz5000, ywz4000, ga, gb) → new_esEs16(new_compare18(ywz5000, ywz4000, ga, gb), LT)
new_ltEs7(ywz500, ywz400, app(app(app(ty_@3, fc), fd), ff)) → new_ltEs4(ywz500, ywz400, fc, fd, ff)
new_compare10(ywz5000, ywz4000, True) → LT
new_esEs9(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_ltEs17(EQ, GT) → True
new_compare110(ywz5000, ywz4000, False, bd, be, bf) → GT
new_compare10(ywz5000, ywz4000, False) → GT
new_ltEs20(ywz5001, ywz4001, app(app(ty_@2, bga), bgb)) → new_ltEs16(ywz5001, ywz4001, bga, bgb)
new_primCompAux00(ywz280, GT) → GT
new_esEs4(Left(ywz5000), Left(ywz4000), ty_@0, fb) → new_esEs14(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bbe)) → new_esEs11(ywz5001, ywz4001, bbe)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, gh), ha), hb), fb) → new_ltEs4(ywz5000, ywz4000, gh, ha, hb)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs8([], :(ywz4000, ywz4001), dc) → False
new_esEs8(:(ywz5000, ywz5001), [], dc) → False
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Integer) → new_ltEs13(ywz5000, ywz4000)
new_ltEs20(ywz5001, ywz4001, app(app(ty_Either, bfb), bfc)) → new_ltEs5(ywz5001, ywz4001, bfb, bfc)
new_esEs22(ywz5002, ywz4002, app(ty_Ratio, bcg)) → new_esEs11(ywz5002, ywz4002, bcg)
new_esEs6(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), fg, fh) → new_asAs(new_esEs27(ywz5000, ywz4000, fg), new_esEs28(ywz5001, ywz4001, fh))
new_esEs28(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat2(ywz50000, ywz4000)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs22(ywz5002, ywz4002, app(ty_Maybe, bch)) → new_esEs7(ywz5002, ywz4002, bch)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_not(True) → False
new_ltEs7(ywz500, ywz400, app(ty_Maybe, bg)) → new_ltEs12(ywz500, ywz400, bg)
new_esEs15(False, False) → True

The set Q consists of the following terms:

new_esEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_sr(x0, x1)
new_lt13(x0, x1, ty_@0)
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_esEs7(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs29(x0, x1, app(ty_[], x2))
new_lt13(x0, x1, app(ty_[], x2))
new_esEs20(x0, x1, ty_Double)
new_lt14(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs7(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), ty_Int, x2)
new_compare25(Double(x0, x1), Double(x2, x3))
new_esEs24(x0, x1, ty_Ordering)
new_esEs28(x0, x1, ty_Int)
new_lt14(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(x0, x1, ty_Bool)
new_primCmpNat1(Zero, Succ(x0))
new_esEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs21(x0, x1, ty_Int)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs24(x0, x1, ty_Bool)
new_esEs29(x0, x1, ty_Double)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_compare0(:(x0, x1), :(x2, x3), x4)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs7(x0, x1, ty_@0)
new_ltEs12(Just(x0), Nothing, x1)
new_esEs27(x0, x1, ty_Bool)
new_esEs8(:(x0, x1), :(x2, x3), x4)
new_esEs29(x0, x1, ty_Int)
new_primPlusNat1(Succ(x0), Zero)
new_esEs15(True, True)
new_lt13(x0, x1, app(ty_Ratio, x2))
new_ltEs17(EQ, GT)
new_ltEs17(GT, EQ)
new_primMulNat0(Succ(x0), Zero)
new_ltEs7(x0, x1, ty_Integer)
new_primPlusNat0(Succ(x0), x1)
new_compare6(x0, x1, ty_Int)
new_esEs13(Integer(x0), Integer(x1))
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs5(Right(x0), Right(x1), x2, ty_Double)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_esEs4(Left(x0), Left(x1), ty_Integer, x2)
new_primCompAux0(x0, x1, x2, x3)
new_ltEs15(True, True)
new_esEs29(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, ty_Ordering)
new_esEs29(x0, x1, ty_Bool)
new_compare27(Just(x0), Just(x1), False, x2)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, ty_Float)
new_esEs7(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt19(x0, x1)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_compare24(x0, x1, True, x2, x3, x4)
new_ltEs14(x0, x1)
new_esEs15(False, False)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_lt8(x0, x1)
new_esEs20(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs18(x0, x1, ty_Int)
new_ltEs15(False, False)
new_compare113(x0, x1, False, x2, x3)
new_ltEs19(x0, x1, ty_Double)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs16(LT, GT)
new_esEs16(GT, LT)
new_esEs4(Left(x0), Left(x1), ty_Float, x2)
new_esEs28(x0, x1, ty_@0)
new_compare6(x0, x1, ty_Float)
new_ltEs5(Right(x0), Right(x1), x2, ty_Char)
new_ltEs20(x0, x1, ty_@0)
new_esEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_compare28(x0, x1, False, x2, x3)
new_lt20(x0, x1, ty_Int)
new_primEqNat0(Succ(x0), Succ(x1))
new_primCmpNat0(Zero, x0)
new_pePe(True, x0)
new_ltEs5(Left(x0), Left(x1), ty_Bool, x2)
new_compare110(x0, x1, True, x2, x3, x4)
new_esEs23(x0, x1, ty_Double)
new_ltEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt20(x0, x1, ty_Integer)
new_esEs9(x0, x1)
new_compare7(x0, x1)
new_ltEs19(x0, x1, ty_Float)
new_esEs5(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Float)
new_ltEs12(Just(x0), Just(x1), app(ty_[], x2))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_compare5(x0, x1, x2, x3, x4)
new_compare210(x0, x1, False)
new_ltEs7(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpNat1(Zero, Zero)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt14(x0, x1, app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), ty_Float)
new_esEs23(x0, x1, ty_Integer)
new_compare9(x0, x1, x2, x3)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, ty_Double)
new_ltEs7(x0, x1, app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_compare13(x0, x1, x2)
new_ltEs5(Right(x0), Right(x1), x2, ty_@0)
new_esEs7(Just(x0), Just(x1), app(ty_[], x2))
new_compare27(Nothing, Nothing, False, x0)
new_lt13(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, ty_Float)
new_esEs4(Left(x0), Left(x1), ty_Bool, x2)
new_lt9(x0, x1, x2)
new_esEs7(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs10(Float(x0, x1), Float(x2, x3))
new_primEqNat0(Zero, Zero)
new_esEs24(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, ty_Int)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_lt14(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_primCompAux00(x0, GT)
new_compare27(Nothing, Just(x0), False, x1)
new_compare10(x0, x1, False)
new_ltEs5(Left(x0), Left(x1), ty_Integer, x2)
new_primCompAux00(x0, EQ)
new_primMulNat0(Zero, Zero)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_compare6(x0, x1, ty_Integer)
new_lt20(x0, x1, ty_@0)
new_ltEs5(Right(x0), Right(x1), x2, ty_Bool)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_ltEs5(Left(x0), Left(x1), ty_Char, x2)
new_esEs28(x0, x1, ty_Char)
new_esEs4(Left(x0), Left(x1), ty_Double, x2)
new_compare19(x0, x1)
new_esEs25(x0, x1, ty_Int)
new_compare8(Float(x0, x1), Float(x2, x3))
new_esEs7(Nothing, Just(x0), x1)
new_esEs16(GT, GT)
new_esEs25(x0, x1, ty_Char)
new_lt13(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_ltEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(Just(x0), Just(x1), ty_Integer)
new_ltEs16(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_lt13(x0, x1, ty_Double)
new_esEs14(@0, @0)
new_ltEs18(x0, x1)
new_compare27(Just(x0), Nothing, False, x1)
new_primMulInt(Neg(x0), Neg(x1))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Float)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs24(x0, x1, ty_Char)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_esEs7(Just(x0), Just(x1), ty_Ordering)
new_ltEs20(x0, x1, ty_Integer)
new_ltEs8(x0, x1, x2)
new_compare12(:%(x0, x1), :%(x2, x3), ty_Integer)
new_lt5(x0, x1, x2)
new_esEs21(x0, x1, ty_Double)
new_esEs22(x0, x1, ty_@0)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs12(Nothing, Just(x0), x1)
new_lt14(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8(:(x0, x1), [], x2)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare16(@0, @0)
new_esEs4(Right(x0), Right(x1), x2, ty_Int)
new_esEs20(x0, x1, ty_@0)
new_pePe(False, x0)
new_ltEs7(x0, x1, ty_Double)
new_compare28(x0, x1, True, x2, x3)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs21(x0, x1, ty_Integer)
new_esEs22(x0, x1, ty_Double)
new_ltEs19(x0, x1, ty_Char)
new_esEs19(x0, x1, ty_Int)
new_compare29(x0, x1, True)
new_compare15(Integer(x0), Integer(x1))
new_compare29(x0, x1, False)
new_ltEs4(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt16(x0, x1, x2, x3, x4)
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpNat2(x0, Zero)
new_compare6(x0, x1, ty_@0)
new_compare113(x0, x1, True, x2, x3)
new_primPlusNat1(Zero, Zero)
new_ltEs9(x0, x1)
new_compare27(x0, x1, True, x2)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_compare6(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs21(x0, x1, ty_Ordering)
new_esEs24(x0, x1, ty_Integer)
new_ltEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(x0, x1, ty_Char)
new_ltEs19(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs28(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_compare0([], :(x0, x1), x2)
new_ltEs19(x0, x1, ty_Bool)
new_ltEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs26(x0, x1, ty_Bool)
new_primCompAux00(x0, LT)
new_esEs29(x0, x1, ty_Float)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_lt20(x0, x1, ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt10(x0, x1)
new_lt4(x0, x1, x2, x3)
new_lt11(x0, x1, x2)
new_ltEs7(x0, x1, ty_Bool)
new_lt14(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_@0)
new_compare26(x0, x1, True, x2, x3)
new_esEs26(x0, x1, ty_Integer)
new_ltEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_lt15(x0, x1)
new_ltEs7(x0, x1, app(ty_Maybe, x2))
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(Left(x0), Right(x1), x2, x3)
new_ltEs5(Right(x0), Left(x1), x2, x3)
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Ordering)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt14(x0, x1, app(ty_Maybe, x2))
new_compare111(x0, x1, True, x2, x3)
new_ltEs15(False, True)
new_ltEs15(True, False)
new_ltEs17(GT, GT)
new_lt14(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Int)
new_lt14(x0, x1, ty_Bool)
new_esEs25(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_compare110(x0, x1, False, x2, x3, x4)
new_esEs4(Right(x0), Right(x1), x2, ty_Integer)
new_esEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_compare210(x0, x1, True)
new_esEs20(x0, x1, ty_Int)
new_esEs7(Just(x0), Just(x1), ty_Float)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Double)
new_esEs22(x0, x1, ty_Int)
new_ltEs7(x0, x1, ty_Int)
new_ltEs12(Just(x0), Just(x1), ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, ty_Float)
new_lt18(x0, x1)
new_lt13(x0, x1, app(ty_Maybe, x2))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Zero, Succ(x0))
new_esEs15(True, False)
new_esEs15(False, True)
new_esEs7(Just(x0), Just(x1), ty_Int)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, ty_Bool)
new_esEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs4(Right(x0), Right(x1), x2, ty_Char)
new_ltEs7(x0, x1, ty_Char)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt17(x0, x1)
new_asAs(True, x0)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, ty_@0)
new_ltEs7(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Char)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs16(LT, LT)
new_compare17(x0, x1)
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_lt13(x0, x1, ty_Integer)
new_esEs7(Just(x0), Just(x1), ty_Char)
new_esEs26(x0, x1, ty_Ordering)
new_esEs18(x0, x1, ty_Integer)
new_sr0(Integer(x0), Integer(x1))
new_esEs28(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_esEs4(Left(x0), Right(x1), x2, x3)
new_esEs4(Right(x0), Left(x1), x2, x3)
new_ltEs10(x0, x1)
new_esEs22(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_Float)
new_esEs29(x0, x1, ty_Integer)
new_lt12(x0, x1, x2, x3)
new_compare10(x0, x1, True)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_ltEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt6(x0, x1)
new_esEs25(x0, x1, app(ty_[], x2))
new_ltEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs29(x0, x1, ty_Char)
new_lt13(x0, x1, ty_Bool)
new_ltEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs20(x0, x1, ty_Ordering)
new_lt14(x0, x1, ty_Integer)
new_ltEs11(x0, x1, x2)
new_ltEs12(Just(x0), Just(x1), ty_Double)
new_esEs26(x0, x1, app(ty_[], x2))
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_compare6(x0, x1, app(ty_Ratio, x2))
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8([], [], x0)
new_compare112(x0, x1, True, x2)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_asAs(False, x0)
new_compare6(x0, x1, app(ty_Maybe, x2))
new_lt13(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_@0)
new_primPlusNat1(Zero, Succ(x0))
new_compare6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), ty_@0, x2)
new_esEs4(Left(x0), Left(x1), ty_Char, x2)
new_compare6(x0, x1, ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, ty_Integer)
new_esEs7(Just(x0), Just(x1), ty_Integer)
new_ltEs5(Left(x0), Left(x1), ty_Float, x2)
new_compare14(Char(x0), Char(x1))
new_lt13(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs17(LT, GT)
new_ltEs17(GT, LT)
new_ltEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs23(x0, x1, ty_Float)
new_ltEs20(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_[], x2))
new_esEs12(Char(x0), Char(x1))
new_esEs23(x0, x1, ty_Char)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs28(x0, x1, ty_Ordering)
new_esEs4(Right(x0), Right(x1), x2, ty_@0)
new_esEs7(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Char)
new_compare0(:(x0, x1), [], x2)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs27(x0, x1, ty_Int)
new_esEs17(Double(x0, x1), Double(x2, x3))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpNat1(Succ(x0), Zero)
new_ltEs12(Just(x0), Just(x1), ty_Bool)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_compare6(x0, x1, ty_Double)
new_esEs7(Nothing, Nothing, x0)
new_ltEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Double)
new_compare24(x0, x1, False, x2, x3, x4)
new_primCmpNat1(Succ(x0), Succ(x1))
new_primPlusNat1(Succ(x0), Succ(x1))
new_ltEs12(Just(x0), Just(x1), ty_Char)
new_esEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs7(Just(x0), Just(x1), ty_Double)
new_ltEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_compare26(x0, x1, False, x2, x3)
new_ltEs7(x0, x1, ty_Float)
new_not(True)
new_esEs7(Just(x0), Just(x1), ty_Bool)
new_esEs24(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Char)
new_compare6(x0, x1, app(ty_[], x2))
new_esEs16(EQ, LT)
new_esEs16(LT, EQ)
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_compare12(:%(x0, x1), :%(x2, x3), ty_Int)
new_primCmpNat0(Succ(x0), x1)
new_esEs16(EQ, EQ)
new_esEs21(x0, x1, ty_@0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Double)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_ltEs19(x0, x1, ty_Int)
new_not(False)
new_esEs6(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs25(x0, x1, ty_Integer)
new_ltEs12(Just(x0), Just(x1), ty_@0)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Int)
new_esEs23(x0, x1, ty_Ordering)
new_esEs26(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), ty_@0, x2)
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Bool)
new_primMulNat0(Succ(x0), Succ(x1))
new_lt14(x0, x1, ty_@0)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(x0, x1, ty_Float)
new_ltEs13(x0, x1)
new_esEs4(Right(x0), Right(x1), x2, ty_Float)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_lt14(x0, x1, ty_Ordering)
new_compare6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs16(EQ, GT)
new_esEs16(GT, EQ)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt7(x0, x1)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare18(x0, x1, x2, x3)
new_ltEs5(Right(x0), Right(x1), x2, ty_Int)
new_ltEs17(LT, EQ)
new_compare111(x0, x1, False, x2, x3)
new_ltEs17(EQ, LT)
new_esEs7(Just(x0), Nothing, x1)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_lt14(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Integer)
new_esEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs23(x0, x1, ty_Int)
new_compare112(x0, x1, False, x2)
new_esEs26(x0, x1, ty_@0)
new_ltEs5(Left(x0), Left(x1), ty_Int, x2)
new_esEs7(Just(x0), Just(x1), ty_@0)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs12(Nothing, Nothing, x0)
new_ltEs6(x0, x1)
new_ltEs12(Just(x0), Just(x1), ty_Int)
new_esEs19(x0, x1, ty_Integer)
new_compare0([], [], x0)
new_esEs24(x0, x1, ty_Double)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_lt14(x0, x1, ty_Double)
new_ltEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs23(x0, x1, ty_Bool)
new_esEs8([], :(x0, x1), x2)
new_ltEs19(x0, x1, ty_Integer)
new_primPlusNat0(Zero, x0)
new_primEqNat0(Zero, Succ(x0))
new_esEs25(x0, x1, ty_Double)
new_esEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs5(Left(x0), Left(x1), ty_Double, x2)
new_primCmpNat2(x0, Succ(x1))
new_esEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs11(:%(x0, x1), :%(x2, x3), x4)
new_esEs22(x0, x1, ty_Integer)
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_lt13(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_lt13(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare11(x0, x1, False)
new_esEs20(x0, x1, ty_Char)
new_ltEs17(EQ, EQ)
new_esEs22(x0, x1, ty_Char)
new_ltEs17(LT, LT)
new_esEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Bool)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_compare11(x0, x1, True)
new_esEs7(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Bool)
new_lt13(x0, x1, ty_Ordering)
new_esEs20(x0, x1, app(ty_Ratio, x2))

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ AND
                                        ↳ QDP
                                        ↳ QDP
                                          ↳ UsableRulesProof
QDP
                                              ↳ QReductionProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_splitGT2(ywz400, ywz41, ywz42, ywz43, Branch(ywz440, ywz441, ywz442, ywz443, ywz444), True, h, ba) → new_splitGT3(ywz440, ywz441, ywz442, ywz443, ywz444, Nothing, h, ba)
new_splitGT3(Just(ywz400), ywz41, ywz42, ywz43, ywz44, Nothing, h, ba) → new_splitGT2(ywz400, ywz41, ywz42, ywz43, ywz44, new_esEs16(new_compare27(Nothing, Just(ywz400), False, h), GT), h, ba)
new_splitGT3(Nothing, ywz41, ywz42, ywz43, ywz44, Nothing, h, ba) → new_splitGT1(ywz41, ywz42, ywz43, ywz44, new_lt5(Nothing, Nothing, h), h, ba)
new_splitGT10(ywz400, ywz41, ywz42, ywz43, ywz44, True, h, ba) → new_splitGT(ywz43, h, ba)
new_splitGT(Branch(ywz440, ywz441, ywz442, ywz443, ywz444), h, ba) → new_splitGT3(ywz440, ywz441, ywz442, ywz443, ywz444, Nothing, h, ba)
new_splitGT1(ywz41, ywz42, ywz43, ywz44, True, h, ba) → new_splitGT(ywz43, h, ba)
new_splitGT2(ywz400, ywz41, ywz42, ywz43, ywz44, False, h, ba) → new_splitGT10(ywz400, ywz41, ywz42, ywz43, ywz44, new_lt5(Nothing, Just(ywz400), h), h, ba)

The TRS R consists of the following rules:

new_lt5(ywz50, ywz40, h) → new_esEs16(new_compare13(ywz50, ywz40, h), LT)
new_compare13(ywz50, ywz40, h) → new_compare27(ywz50, ywz40, new_esEs7(ywz50, ywz40, h), h)
new_esEs16(GT, LT) → False
new_esEs16(EQ, LT) → False
new_esEs16(LT, LT) → True
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_[], bh)) → new_esEs8(ywz5000, ywz4000, bh)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_Ratio, cc)) → new_esEs11(ywz5000, ywz4000, cc)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(ty_@2, da), db)) → new_esEs6(ywz5000, ywz4000, da, db)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs7(Nothing, Nothing, bg) → True
new_esEs7(Just(ywz5000), Nothing, bg) → False
new_esEs7(Nothing, Just(ywz4000), bg) → False
new_esEs7(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, ce), cf), cg)) → new_esEs5(ywz5000, ywz4000, ce, cf, cg)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(ty_Either, ca), cb)) → new_esEs4(ywz5000, ywz4000, ca, cb)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(ty_Maybe, baa)) → new_esEs7(ywz5000, ywz4000, baa)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_Maybe, cd)) → new_esEs7(ywz5000, ywz4000, cd)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(app(ty_Either, hf), hg)) → new_esEs4(ywz5000, ywz4000, hf, hg)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(ty_Either, gd), ge), fb) → new_esEs4(ywz5000, ywz4000, gd, ge)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_Maybe, gg), fb) → new_esEs7(ywz5000, ywz4000, gg)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs10(ywz5000, ywz4000)
new_compare27(Just(ywz500), Just(ywz400), False, h) → new_compare112(ywz500, ywz400, new_ltEs7(ywz500, ywz400, h), h)
new_compare27(Nothing, Just(ywz400), False, h) → LT
new_compare27(Just(ywz500), Nothing, False, h) → GT
new_compare27(Nothing, Nothing, False, h) → LT
new_compare27(ywz50, ywz40, True, h) → EQ
new_ltEs7(ywz500, ywz400, app(ty_Ratio, ef)) → new_ltEs11(ywz500, ywz400, ef)
new_ltEs7(ywz500, ywz400, app(ty_[], dc)) → new_ltEs8(ywz500, ywz400, dc)
new_ltEs7(ywz500, ywz400, ty_Char) → new_ltEs6(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, ty_Double) → new_ltEs18(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, ty_Integer) → new_ltEs13(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, ty_@0) → new_ltEs14(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, app(app(ty_@2, fg), fh)) → new_ltEs16(ywz500, ywz400, fg, fh)
new_ltEs7(ywz500, ywz400, ty_Float) → new_ltEs10(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, ty_Bool) → new_ltEs15(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, app(app(ty_Either, fa), fb)) → new_ltEs5(ywz500, ywz400, fa, fb)
new_ltEs7(ywz500, ywz400, ty_Int) → new_ltEs9(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, ty_Ordering) → new_ltEs17(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, app(app(app(ty_@3, fc), fd), ff)) → new_ltEs4(ywz500, ywz400, fc, fd, ff)
new_ltEs7(ywz500, ywz400, app(ty_Maybe, bg)) → new_ltEs12(ywz500, ywz400, bg)
new_compare112(ywz95, ywz96, True, bdf) → LT
new_compare112(ywz95, ywz96, False, bdf) → GT
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Double) → new_ltEs18(ywz5000, ywz4000)
new_ltEs12(Nothing, Nothing, bg) → True
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Integer) → new_ltEs13(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_Ratio, cc)) → new_ltEs11(ywz5000, ywz4000, cc)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(ty_@2, da), db)) → new_ltEs16(ywz5000, ywz4000, da, db)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_[], bh)) → new_ltEs8(ywz5000, ywz4000, bh)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Float) → new_ltEs10(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_@0) → new_ltEs14(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_ltEs17(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, ce), cf), cg)) → new_ltEs4(ywz5000, ywz4000, ce, cf, cg)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Char) → new_ltEs6(ywz5000, ywz4000)
new_ltEs12(Nothing, Just(ywz4000), bg) → True
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Bool) → new_ltEs15(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Int) → new_ltEs9(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Nothing, bg) → False
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_Maybe, gg), fb) → new_ltEs12(ywz5000, ywz4000, gg)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(ty_Either, gd), ge), fb) → new_ltEs5(ywz5000, ywz4000, gd, ge)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_Maybe, cd)) → new_ltEs12(ywz5000, ywz4000, cd)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(ty_Either, ca), cb)) → new_ltEs5(ywz5000, ywz4000, ca, cb)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(app(ty_Either, hf), hg)) → new_ltEs5(ywz5000, ywz4000, hf, hg)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(ty_Maybe, baa)) → new_ltEs12(ywz5000, ywz4000, baa)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(ty_@2, hc), hd), fb) → new_ltEs16(ywz5000, ywz4000, hc, hd)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Int) → new_ltEs9(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Int, fb) → new_ltEs9(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(ty_[], he)) → new_ltEs8(ywz5000, ywz4000, he)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Float) → new_ltEs10(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Right(ywz4000), fa, fb) → True
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Float, fb) → new_ltEs10(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Left(ywz4000), fa, fb) → False
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Integer, fb) → new_ltEs13(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Char, fb) → new_ltEs6(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_@0) → new_ltEs14(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_@0, fb) → new_ltEs14(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Ordering, fb) → new_ltEs17(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Ordering) → new_ltEs17(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Char) → new_ltEs6(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_Ratio, gf), fb) → new_ltEs11(ywz5000, ywz4000, gf)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(app(app(ty_@3, bab), bac), bad)) → new_ltEs4(ywz5000, ywz4000, bab, bac, bad)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Bool) → new_ltEs15(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(ty_Ratio, hh)) → new_ltEs11(ywz5000, ywz4000, hh)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Double) → new_ltEs18(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Bool, fb) → new_ltEs15(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_[], gc), fb) → new_ltEs8(ywz5000, ywz4000, gc)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Double, fb) → new_ltEs18(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(app(ty_@2, bae), baf)) → new_ltEs16(ywz5000, ywz4000, bae, baf)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, gh), ha), hb), fb) → new_ltEs4(ywz5000, ywz4000, gh, ha, hb)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Integer) → new_ltEs13(ywz5000, ywz4000)
new_ltEs13(ywz500, ywz400) → new_not(new_esEs16(new_compare15(ywz500, ywz400), GT))
new_compare15(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_esEs16(EQ, GT) → False
new_esEs16(LT, GT) → False
new_esEs16(GT, GT) → True
new_not(False) → True
new_not(True) → False
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat0(Zero, ywz40000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat2(ywz40000, Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat0(ywz4000, ywz50000)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat2(ywz50000, ywz4000)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_primCmpNat2(ywz50000, Succ(ywz40000)) → new_primCmpNat1(ywz50000, ywz40000)
new_primCmpNat2(ywz50000, Zero) → GT
new_primCmpNat1(Zero, Succ(ywz400000)) → LT
new_primCmpNat1(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat1(ywz500000, ywz400000)
new_primCmpNat1(Zero, Zero) → EQ
new_primCmpNat1(Succ(ywz500000), Zero) → GT
new_primCmpNat0(Succ(ywz40000), ywz50000) → new_primCmpNat1(ywz40000, ywz50000)
new_primCmpNat0(Zero, ywz50000) → LT
new_ltEs4(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), fc, fd, ff) → new_pePe(new_lt14(ywz5000, ywz4000, fc), new_asAs(new_esEs23(ywz5000, ywz4000, fc), new_pePe(new_lt13(ywz5001, ywz4001, fd), new_asAs(new_esEs24(ywz5001, ywz4001, fd), new_ltEs19(ywz5002, ywz4002, ff)))))
new_lt14(ywz5000, ywz4000, app(app(ty_@2, ga), gb)) → new_lt4(ywz5000, ywz4000, ga, gb)
new_lt14(ywz5000, ywz4000, app(app(ty_Either, eg), eh)) → new_lt12(ywz5000, ywz4000, eg, eh)
new_lt14(ywz5000, ywz4000, ty_Int) → new_lt10(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_lt5(ywz5000, ywz4000, bba)
new_lt14(ywz5000, ywz4000, ty_Char) → new_lt15(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, app(ty_Ratio, bah)) → new_lt11(ywz5000, ywz4000, bah)
new_lt14(ywz5000, ywz4000, ty_Ordering) → new_lt18(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, ty_Double) → new_lt19(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, app(app(app(ty_@3, bd), be), bf)) → new_lt16(ywz5000, ywz4000, bd, be, bf)
new_lt14(ywz5000, ywz4000, ty_Float) → new_lt6(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, ty_Integer) → new_lt8(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, app(ty_[], bag)) → new_lt9(ywz5000, ywz4000, bag)
new_lt14(ywz5000, ywz4000, ty_Bool) → new_lt17(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, ty_@0) → new_lt7(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_esEs7(ywz5000, ywz4000, bba)
new_esEs23(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, app(ty_[], bag)) → new_esEs8(ywz5000, ywz4000, bag)
new_esEs23(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, app(app(ty_@2, ga), gb)) → new_esEs6(ywz5000, ywz4000, ga, gb)
new_esEs23(ywz5000, ywz4000, app(ty_Ratio, bah)) → new_esEs11(ywz5000, ywz4000, bah)
new_esEs23(ywz5000, ywz4000, app(app(ty_Either, eg), eh)) → new_esEs4(ywz5000, ywz4000, eg, eh)
new_esEs23(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, app(app(app(ty_@3, bd), be), bf)) → new_esEs5(ywz5000, ywz4000, bd, be, bf)
new_lt13(ywz5001, ywz4001, ty_@0) → new_lt7(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, ty_Integer) → new_lt8(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, ty_Float) → new_lt6(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, ty_Char) → new_lt15(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, app(ty_Maybe, bbf)) → new_lt5(ywz5001, ywz4001, bbf)
new_lt13(ywz5001, ywz4001, app(ty_[], bbb)) → new_lt9(ywz5001, ywz4001, bbb)
new_lt13(ywz5001, ywz4001, app(app(ty_Either, bbc), bbd)) → new_lt12(ywz5001, ywz4001, bbc, bbd)
new_lt13(ywz5001, ywz4001, ty_Ordering) → new_lt18(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, app(ty_Ratio, bbe)) → new_lt11(ywz5001, ywz4001, bbe)
new_lt13(ywz5001, ywz4001, ty_Double) → new_lt19(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, app(app(ty_@2, bcb), bcc)) → new_lt4(ywz5001, ywz4001, bcb, bcc)
new_lt13(ywz5001, ywz4001, ty_Int) → new_lt10(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, app(app(app(ty_@3, bbg), bbh), bca)) → new_lt16(ywz5001, ywz4001, bbg, bbh, bca)
new_lt13(ywz5001, ywz4001, ty_Bool) → new_lt17(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, app(app(app(ty_@3, bbg), bbh), bca)) → new_esEs5(ywz5001, ywz4001, bbg, bbh, bca)
new_esEs24(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, app(ty_Maybe, bbf)) → new_esEs7(ywz5001, ywz4001, bbf)
new_esEs24(ywz5001, ywz4001, app(app(ty_@2, bcb), bcc)) → new_esEs6(ywz5001, ywz4001, bcb, bcc)
new_esEs24(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, app(ty_Ratio, bbe)) → new_esEs11(ywz5001, ywz4001, bbe)
new_esEs24(ywz5001, ywz4001, app(ty_[], bbb)) → new_esEs8(ywz5001, ywz4001, bbb)
new_esEs24(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, app(app(ty_Either, bbc), bbd)) → new_esEs4(ywz5001, ywz4001, bbc, bbd)
new_esEs24(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_ltEs19(ywz5002, ywz4002, app(ty_[], bcd)) → new_ltEs8(ywz5002, ywz4002, bcd)
new_ltEs19(ywz5002, ywz4002, app(ty_Ratio, bcg)) → new_ltEs11(ywz5002, ywz4002, bcg)
new_ltEs19(ywz5002, ywz4002, app(ty_Maybe, bch)) → new_ltEs12(ywz5002, ywz4002, bch)
new_ltEs19(ywz5002, ywz4002, ty_Char) → new_ltEs6(ywz5002, ywz4002)
new_ltEs19(ywz5002, ywz4002, ty_Float) → new_ltEs10(ywz5002, ywz4002)
new_ltEs19(ywz5002, ywz4002, app(app(app(ty_@3, bda), bdb), bdc)) → new_ltEs4(ywz5002, ywz4002, bda, bdb, bdc)
new_ltEs19(ywz5002, ywz4002, ty_Bool) → new_ltEs15(ywz5002, ywz4002)
new_ltEs19(ywz5002, ywz4002, ty_Ordering) → new_ltEs17(ywz5002, ywz4002)
new_ltEs19(ywz5002, ywz4002, ty_Double) → new_ltEs18(ywz5002, ywz4002)
new_ltEs19(ywz5002, ywz4002, ty_Int) → new_ltEs9(ywz5002, ywz4002)
new_ltEs19(ywz5002, ywz4002, app(app(ty_Either, bce), bcf)) → new_ltEs5(ywz5002, ywz4002, bce, bcf)
new_ltEs19(ywz5002, ywz4002, ty_@0) → new_ltEs14(ywz5002, ywz4002)
new_ltEs19(ywz5002, ywz4002, app(app(ty_@2, bdd), bde)) → new_ltEs16(ywz5002, ywz4002, bdd, bde)
new_ltEs19(ywz5002, ywz4002, ty_Integer) → new_ltEs13(ywz5002, ywz4002)
new_asAs(False, ywz102) → False
new_asAs(True, ywz102) → ywz102
new_pePe(False, ywz175) → ywz175
new_pePe(True, ywz175) → True
new_ltEs16(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), fg, fh) → new_pePe(new_lt20(ywz5000, ywz4000, fg), new_asAs(new_esEs26(ywz5000, ywz4000, fg), new_ltEs20(ywz5001, ywz4001, fh)))
new_lt20(ywz5000, ywz4000, ty_Int) → new_lt10(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_@0) → new_lt7(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Float) → new_lt6(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(ty_Either, bdh), bea)) → new_lt12(ywz5000, ywz4000, bdh, bea)
new_lt20(ywz5000, ywz4000, app(ty_[], bdg)) → new_lt9(ywz5000, ywz4000, bdg)
new_lt20(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_lt11(ywz5000, ywz4000, beb)
new_lt20(ywz5000, ywz4000, ty_Integer) → new_lt8(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_lt5(ywz5000, ywz4000, bec)
new_lt20(ywz5000, ywz4000, app(app(ty_@2, beg), beh)) → new_lt4(ywz5000, ywz4000, beg, beh)
new_lt20(ywz5000, ywz4000, ty_Ordering) → new_lt18(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Double) → new_lt19(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_lt16(ywz5000, ywz4000, bed, bee, bef)
new_lt20(ywz5000, ywz4000, ty_Bool) → new_lt17(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Char) → new_lt15(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, app(ty_[], bdg)) → new_esEs8(ywz5000, ywz4000, bdg)
new_esEs26(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_esEs7(ywz5000, ywz4000, bec)
new_esEs26(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_esEs11(ywz5000, ywz4000, beb)
new_esEs26(ywz5000, ywz4000, app(app(ty_Either, bdh), bea)) → new_esEs4(ywz5000, ywz4000, bdh, bea)
new_esEs26(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_esEs5(ywz5000, ywz4000, bed, bee, bef)
new_esEs26(ywz5000, ywz4000, app(app(ty_@2, beg), beh)) → new_esEs6(ywz5000, ywz4000, beg, beh)
new_ltEs20(ywz5001, ywz4001, ty_Int) → new_ltEs9(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, app(ty_Ratio, bfd)) → new_ltEs11(ywz5001, ywz4001, bfd)
new_ltEs20(ywz5001, ywz4001, app(app(app(ty_@3, bff), bfg), bfh)) → new_ltEs4(ywz5001, ywz4001, bff, bfg, bfh)
new_ltEs20(ywz5001, ywz4001, app(ty_[], bfa)) → new_ltEs8(ywz5001, ywz4001, bfa)
new_ltEs20(ywz5001, ywz4001, app(ty_Maybe, bfe)) → new_ltEs12(ywz5001, ywz4001, bfe)
new_ltEs20(ywz5001, ywz4001, ty_Integer) → new_ltEs13(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_@0) → new_ltEs14(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Double) → new_ltEs18(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Ordering) → new_ltEs17(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Bool) → new_ltEs15(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Float) → new_ltEs10(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Char) → new_ltEs6(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, app(app(ty_@2, bga), bgb)) → new_ltEs16(ywz5001, ywz4001, bga, bgb)
new_ltEs20(ywz5001, ywz4001, app(app(ty_Either, bfb), bfc)) → new_ltEs5(ywz5001, ywz4001, bfb, bfc)
new_ltEs6(ywz500, ywz400) → new_not(new_esEs16(new_compare14(ywz500, ywz400), GT))
new_compare14(Char(ywz5000), Char(ywz4000)) → new_primCmpNat1(ywz5000, ywz4000)
new_ltEs10(ywz500, ywz400) → new_not(new_esEs16(new_compare8(ywz500, ywz400), GT))
new_compare8(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare7(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_sr(ywz5001, ywz4001) → new_primMulInt(ywz5001, ywz4001)
new_compare7(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_primMulInt(Pos(ywz50010), Pos(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Neg(ywz50010), Neg(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Neg(ywz50010), Pos(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Pos(ywz50010), Neg(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Zero, Succ(ywz400100)) → Zero
new_primMulNat0(Succ(ywz500100), Zero) → Zero
new_primMulNat0(Succ(ywz500100), Succ(ywz400100)) → new_primPlusNat0(new_primMulNat0(ywz500100, Succ(ywz400100)), ywz400100)
new_primPlusNat0(Succ(ywz1950), ywz400100) → Succ(Succ(new_primPlusNat1(ywz1950, ywz400100)))
new_primPlusNat0(Zero, ywz400100) → Succ(ywz400100)
new_primPlusNat1(Succ(ywz19500), Zero) → Succ(ywz19500)
new_primPlusNat1(Zero, Succ(ywz4001000)) → Succ(ywz4001000)
new_primPlusNat1(Succ(ywz19500), Succ(ywz4001000)) → Succ(Succ(new_primPlusNat1(ywz19500, ywz4001000)))
new_primPlusNat1(Zero, Zero) → Zero
new_ltEs15(True, False) → False
new_ltEs15(True, True) → True
new_ltEs15(False, True) → True
new_ltEs15(False, False) → True
new_ltEs17(LT, LT) → True
new_ltEs17(EQ, LT) → False
new_ltEs17(GT, LT) → False
new_ltEs17(LT, GT) → True
new_ltEs17(EQ, EQ) → True
new_ltEs17(GT, GT) → True
new_ltEs17(GT, EQ) → False
new_ltEs17(LT, EQ) → True
new_ltEs17(EQ, GT) → True
new_ltEs18(ywz500, ywz400) → new_not(new_esEs16(new_compare25(ywz500, ywz400), GT))
new_compare25(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare7(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs14(ywz500, ywz400) → new_not(new_esEs16(new_compare16(ywz500, ywz400), GT))
new_compare16(@0, @0) → EQ
new_ltEs8(ywz500, ywz400, dc) → new_not(new_esEs16(new_compare0(ywz500, ywz400, dc), GT))
new_compare0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), dc) → new_primCompAux0(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, dc), dc)
new_compare0([], [], dc) → EQ
new_compare0(:(ywz5000, ywz5001), [], dc) → GT
new_compare0([], :(ywz4000, ywz4001), dc) → LT
new_primCompAux0(ywz5000, ywz4000, ywz228, dc) → new_primCompAux00(ywz228, new_compare6(ywz5000, ywz4000, dc))
new_compare6(ywz5000, ywz4000, ty_Double) → new_compare25(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(app(ty_@2, ed), ee)) → new_compare18(ywz5000, ywz4000, ed, ee)
new_compare6(ywz5000, ywz4000, app(ty_[], dd)) → new_compare0(ywz5000, ywz4000, dd)
new_compare6(ywz5000, ywz4000, ty_Integer) → new_compare15(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, ty_@0) → new_compare16(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, ty_Bool) → new_compare17(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_Ratio, dg)) → new_compare12(ywz5000, ywz4000, dg)
new_compare6(ywz5000, ywz4000, ty_Char) → new_compare14(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(app(ty_Either, de), df)) → new_compare9(ywz5000, ywz4000, de, df)
new_compare6(ywz5000, ywz4000, ty_Float) → new_compare8(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(app(app(ty_@3, ea), eb), ec)) → new_compare5(ywz5000, ywz4000, ea, eb, ec)
new_compare6(ywz5000, ywz4000, ty_Ordering) → new_compare19(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, ty_Int) → new_compare7(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_Maybe, dh)) → new_compare13(ywz5000, ywz4000, dh)
new_primCompAux00(ywz280, LT) → LT
new_primCompAux00(ywz280, EQ) → ywz280
new_primCompAux00(ywz280, GT) → GT
new_compare19(ywz5000, ywz4000) → new_compare29(ywz5000, ywz4000, new_esEs16(ywz5000, ywz4000))
new_esEs16(GT, EQ) → False
new_esEs16(LT, EQ) → False
new_esEs16(EQ, EQ) → True
new_compare29(ywz5000, ywz4000, True) → EQ
new_compare29(ywz5000, ywz4000, False) → new_compare11(ywz5000, ywz4000, new_ltEs17(ywz5000, ywz4000))
new_compare11(ywz5000, ywz4000, False) → GT
new_compare11(ywz5000, ywz4000, True) → LT
new_compare5(ywz5000, ywz4000, bd, be, bf) → new_compare24(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bd, be, bf), bd, be, bf)
new_esEs5(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), fc, fd, ff) → new_asAs(new_esEs20(ywz5000, ywz4000, fc), new_asAs(new_esEs21(ywz5001, ywz4001, fd), new_esEs22(ywz5002, ywz4002, ff)))
new_compare24(ywz5000, ywz4000, True, bd, be, bf) → EQ
new_compare24(ywz5000, ywz4000, False, bd, be, bf) → new_compare110(ywz5000, ywz4000, new_ltEs4(ywz5000, ywz4000, bd, be, bf), bd, be, bf)
new_compare110(ywz5000, ywz4000, True, bd, be, bf) → LT
new_compare110(ywz5000, ywz4000, False, bd, be, bf) → GT
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_esEs7(ywz5000, ywz4000, bba)
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, eg), eh)) → new_esEs4(ywz5000, ywz4000, eg, eh)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, ga), gb)) → new_esEs6(ywz5000, ywz4000, ga, gb)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_[], bag)) → new_esEs8(ywz5000, ywz4000, bag)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, bah)) → new_esEs11(ywz5000, ywz4000, bah)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, bd), be), bf)) → new_esEs5(ywz5000, ywz4000, bd, be, bf)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, bcb), bcc)) → new_esEs6(ywz5001, ywz4001, bcb, bcc)
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bbc), bbd)) → new_esEs4(ywz5001, ywz4001, bbc, bbd)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bbg), bbh), bca)) → new_esEs5(ywz5001, ywz4001, bbg, bbh, bca)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bbf)) → new_esEs7(ywz5001, ywz4001, bbf)
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_[], bbb)) → new_esEs8(ywz5001, ywz4001, bbb)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bbe)) → new_esEs11(ywz5001, ywz4001, bbe)
new_esEs22(ywz5002, ywz4002, ty_Double) → new_esEs17(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, ty_Char) → new_esEs12(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, app(ty_[], bcd)) → new_esEs8(ywz5002, ywz4002, bcd)
new_esEs22(ywz5002, ywz4002, app(app(ty_Either, bce), bcf)) → new_esEs4(ywz5002, ywz4002, bce, bcf)
new_esEs22(ywz5002, ywz4002, app(app(app(ty_@3, bda), bdb), bdc)) → new_esEs5(ywz5002, ywz4002, bda, bdb, bdc)
new_esEs22(ywz5002, ywz4002, ty_Integer) → new_esEs13(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, app(app(ty_@2, bdd), bde)) → new_esEs6(ywz5002, ywz4002, bdd, bde)
new_esEs22(ywz5002, ywz4002, ty_Int) → new_esEs9(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, ty_Ordering) → new_esEs16(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, ty_Bool) → new_esEs15(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, ty_@0) → new_esEs14(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, ty_Float) → new_esEs10(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, app(ty_Ratio, bcg)) → new_esEs11(ywz5002, ywz4002, bcg)
new_esEs22(ywz5002, ywz4002, app(ty_Maybe, bch)) → new_esEs7(ywz5002, ywz4002, bch)
new_esEs11(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ef) → new_asAs(new_esEs18(ywz5000, ywz4000, ef), new_esEs19(ywz5001, ywz4001, ef))
new_esEs18(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs18(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs19(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_esEs19(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs13(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_primEqNat0(Succ(ywz50000), Zero) → False
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_esEs9(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_esEs10(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs9(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs14(@0, @0) → True
new_esEs15(True, False) → False
new_esEs15(False, True) → False
new_esEs15(True, True) → True
new_esEs15(False, False) → True
new_esEs6(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), fg, fh) → new_asAs(new_esEs27(ywz5000, ywz4000, fg), new_esEs28(ywz5001, ywz4001, fh))
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_esEs7(ywz5000, ywz4000, bec)
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_[], bdg)) → new_esEs8(ywz5000, ywz4000, bdg)
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_esEs5(ywz5000, ywz4000, bed, bee, bef)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_esEs11(ywz5000, ywz4000, beb)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, beg), beh)) → new_esEs6(ywz5000, ywz4000, beg, beh)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, bdh), bea)) → new_esEs4(ywz5000, ywz4000, bdh, bea)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs28(ywz5001, ywz4001, app(app(app(ty_@3, bff), bfg), bfh)) → new_esEs5(ywz5001, ywz4001, bff, bfg, bfh)
new_esEs28(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, app(ty_[], bfa)) → new_esEs8(ywz5001, ywz4001, bfa)
new_esEs28(ywz5001, ywz4001, app(ty_Maybe, bfe)) → new_esEs7(ywz5001, ywz4001, bfe)
new_esEs28(ywz5001, ywz4001, app(app(ty_@2, bga), bgb)) → new_esEs6(ywz5001, ywz4001, bga, bgb)
new_esEs28(ywz5001, ywz4001, app(app(ty_Either, bfb), bfc)) → new_esEs4(ywz5001, ywz4001, bfb, bfc)
new_esEs28(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, app(ty_Ratio, bfd)) → new_esEs11(ywz5001, ywz4001, bfd)
new_esEs28(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_esEs12(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_esEs17(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs9(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(ty_[], he)) → new_esEs8(ywz5000, ywz4000, he)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(ty_@2, hc), hd), fb) → new_esEs6(ywz5000, ywz4000, hc, hd)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Char, fb) → new_esEs12(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Int, fb) → new_esEs9(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, gh), ha), hb), fb) → new_esEs5(ywz5000, ywz4000, gh, ha, hb)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_Ratio, gf), fb) → new_esEs11(ywz5000, ywz4000, gf)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Ordering, fb) → new_esEs16(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Double, fb) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(app(app(ty_@3, bab), bac), bad)) → new_esEs5(ywz5000, ywz4000, bab, bac, bad)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(app(ty_@2, bae), baf)) → new_esEs6(ywz5000, ywz4000, bae, baf)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_[], gc), fb) → new_esEs8(ywz5000, ywz4000, gc)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Bool, fb) → new_esEs15(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Float, fb) → new_esEs10(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Integer, fb) → new_esEs13(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(ty_Ratio, hh)) → new_esEs11(ywz5000, ywz4000, hh)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Right(ywz4000), fa, fb) → False
new_esEs4(Right(ywz5000), Left(ywz4000), fa, fb) → False
new_esEs4(Left(ywz5000), Left(ywz4000), ty_@0, fb) → new_esEs14(ywz5000, ywz4000)
new_esEs8(:(ywz5000, ywz5001), :(ywz4000, ywz4001), dc) → new_asAs(new_esEs25(ywz5000, ywz4000, dc), new_esEs8(ywz5001, ywz4001, dc))
new_esEs8([], [], dc) → True
new_esEs8([], :(ywz4000, ywz4001), dc) → False
new_esEs8(:(ywz5000, ywz5001), [], dc) → False
new_esEs25(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(app(ty_Either, de), df)) → new_esEs4(ywz5000, ywz4000, de, df)
new_esEs25(ywz5000, ywz4000, app(app(ty_@2, ed), ee)) → new_esEs6(ywz5000, ywz4000, ed, ee)
new_esEs25(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(ty_[], dd)) → new_esEs8(ywz5000, ywz4000, dd)
new_esEs25(ywz5000, ywz4000, app(ty_Ratio, dg)) → new_esEs11(ywz5000, ywz4000, dg)
new_esEs25(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(ty_Maybe, dh)) → new_esEs7(ywz5000, ywz4000, dh)
new_esEs25(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(app(app(ty_@3, ea), eb), ec)) → new_esEs5(ywz5000, ywz4000, ea, eb, ec)
new_compare9(ywz5000, ywz4000, eg, eh) → new_compare26(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, eg, eh), eg, eh)
new_compare26(ywz5000, ywz4000, True, eg, eh) → EQ
new_compare26(ywz5000, ywz4000, False, eg, eh) → new_compare111(ywz5000, ywz4000, new_ltEs5(ywz5000, ywz4000, eg, eh), eg, eh)
new_compare111(ywz5000, ywz4000, False, eg, eh) → GT
new_compare111(ywz5000, ywz4000, True, eg, eh) → LT
new_compare12(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare7(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_compare12(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare15(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_sr0(Integer(ywz40000), Integer(ywz50010)) → Integer(new_primMulInt(ywz40000, ywz50010))
new_compare17(ywz5000, ywz4000) → new_compare210(ywz5000, ywz4000, new_esEs15(ywz5000, ywz4000))
new_compare210(ywz5000, ywz4000, False) → new_compare10(ywz5000, ywz4000, new_ltEs15(ywz5000, ywz4000))
new_compare210(ywz5000, ywz4000, True) → EQ
new_compare10(ywz5000, ywz4000, True) → LT
new_compare10(ywz5000, ywz4000, False) → GT
new_compare18(ywz5000, ywz4000, ga, gb) → new_compare28(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, ga, gb), ga, gb)
new_compare28(ywz5000, ywz4000, True, ga, gb) → EQ
new_compare28(ywz5000, ywz4000, False, ga, gb) → new_compare113(ywz5000, ywz4000, new_ltEs16(ywz5000, ywz4000, ga, gb), ga, gb)
new_compare113(ywz5000, ywz4000, True, ga, gb) → LT
new_compare113(ywz5000, ywz4000, False, ga, gb) → GT
new_ltEs11(ywz500, ywz400, ef) → new_not(new_esEs16(new_compare12(ywz500, ywz400, ef), GT))
new_ltEs9(ywz500, ywz400) → new_not(new_esEs16(new_compare7(ywz500, ywz400), GT))
new_lt15(ywz5000, ywz4000) → new_esEs16(new_compare14(ywz5000, ywz4000), LT)
new_lt17(ywz5000, ywz4000) → new_esEs16(new_compare17(ywz5000, ywz4000), LT)
new_lt16(ywz5000, ywz4000, bd, be, bf) → new_esEs16(new_compare5(ywz5000, ywz4000, bd, be, bf), LT)
new_lt19(ywz5000, ywz4000) → new_esEs16(new_compare25(ywz5000, ywz4000), LT)
new_lt18(ywz5000, ywz4000) → new_esEs16(new_compare19(ywz5000, ywz4000), LT)
new_lt4(ywz5000, ywz4000, ga, gb) → new_esEs16(new_compare18(ywz5000, ywz4000, ga, gb), LT)
new_lt8(ywz5000, ywz4000) → new_esEs16(new_compare15(ywz5000, ywz4000), LT)
new_lt11(ywz5000, ywz4000, bah) → new_esEs16(new_compare12(ywz5000, ywz4000, bah), LT)
new_lt9(ywz5000, ywz4000, bag) → new_esEs16(new_compare0(ywz5000, ywz4000, bag), LT)
new_lt12(ywz5000, ywz4000, eg, eh) → new_esEs16(new_compare9(ywz5000, ywz4000, eg, eh), LT)
new_lt6(ywz5000, ywz4000) → new_esEs16(new_compare8(ywz5000, ywz4000), LT)
new_lt7(ywz5000, ywz4000) → new_esEs16(new_compare16(ywz5000, ywz4000), LT)
new_lt10(ywz5000, ywz4000) → new_esEs16(new_compare7(ywz5000, ywz4000), LT)

The set Q consists of the following terms:

new_esEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_sr(x0, x1)
new_lt13(x0, x1, ty_@0)
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_esEs7(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs29(x0, x1, app(ty_[], x2))
new_lt13(x0, x1, app(ty_[], x2))
new_esEs20(x0, x1, ty_Double)
new_lt14(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs7(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), ty_Int, x2)
new_compare25(Double(x0, x1), Double(x2, x3))
new_esEs24(x0, x1, ty_Ordering)
new_esEs28(x0, x1, ty_Int)
new_lt14(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(x0, x1, ty_Bool)
new_primCmpNat1(Zero, Succ(x0))
new_esEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs21(x0, x1, ty_Int)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs24(x0, x1, ty_Bool)
new_esEs29(x0, x1, ty_Double)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_compare0(:(x0, x1), :(x2, x3), x4)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs7(x0, x1, ty_@0)
new_ltEs12(Just(x0), Nothing, x1)
new_esEs27(x0, x1, ty_Bool)
new_esEs8(:(x0, x1), :(x2, x3), x4)
new_esEs29(x0, x1, ty_Int)
new_primPlusNat1(Succ(x0), Zero)
new_esEs15(True, True)
new_lt13(x0, x1, app(ty_Ratio, x2))
new_ltEs17(EQ, GT)
new_ltEs17(GT, EQ)
new_primMulNat0(Succ(x0), Zero)
new_ltEs7(x0, x1, ty_Integer)
new_primPlusNat0(Succ(x0), x1)
new_compare6(x0, x1, ty_Int)
new_esEs13(Integer(x0), Integer(x1))
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs5(Right(x0), Right(x1), x2, ty_Double)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_esEs4(Left(x0), Left(x1), ty_Integer, x2)
new_primCompAux0(x0, x1, x2, x3)
new_ltEs15(True, True)
new_esEs29(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, ty_Ordering)
new_esEs29(x0, x1, ty_Bool)
new_compare27(Just(x0), Just(x1), False, x2)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, ty_Float)
new_esEs7(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt19(x0, x1)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_compare24(x0, x1, True, x2, x3, x4)
new_ltEs14(x0, x1)
new_esEs15(False, False)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_lt8(x0, x1)
new_esEs20(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs18(x0, x1, ty_Int)
new_ltEs15(False, False)
new_compare113(x0, x1, False, x2, x3)
new_ltEs19(x0, x1, ty_Double)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs16(LT, GT)
new_esEs16(GT, LT)
new_esEs4(Left(x0), Left(x1), ty_Float, x2)
new_esEs28(x0, x1, ty_@0)
new_compare6(x0, x1, ty_Float)
new_ltEs5(Right(x0), Right(x1), x2, ty_Char)
new_ltEs20(x0, x1, ty_@0)
new_esEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_compare28(x0, x1, False, x2, x3)
new_lt20(x0, x1, ty_Int)
new_primEqNat0(Succ(x0), Succ(x1))
new_primCmpNat0(Zero, x0)
new_pePe(True, x0)
new_ltEs5(Left(x0), Left(x1), ty_Bool, x2)
new_compare110(x0, x1, True, x2, x3, x4)
new_esEs23(x0, x1, ty_Double)
new_ltEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt20(x0, x1, ty_Integer)
new_esEs9(x0, x1)
new_compare7(x0, x1)
new_ltEs19(x0, x1, ty_Float)
new_esEs5(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Float)
new_ltEs12(Just(x0), Just(x1), app(ty_[], x2))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_compare5(x0, x1, x2, x3, x4)
new_compare210(x0, x1, False)
new_ltEs7(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpNat1(Zero, Zero)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt14(x0, x1, app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), ty_Float)
new_esEs23(x0, x1, ty_Integer)
new_compare9(x0, x1, x2, x3)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, ty_Double)
new_ltEs7(x0, x1, app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_compare13(x0, x1, x2)
new_ltEs5(Right(x0), Right(x1), x2, ty_@0)
new_esEs7(Just(x0), Just(x1), app(ty_[], x2))
new_compare27(Nothing, Nothing, False, x0)
new_lt13(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, ty_Float)
new_esEs4(Left(x0), Left(x1), ty_Bool, x2)
new_lt9(x0, x1, x2)
new_esEs7(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs10(Float(x0, x1), Float(x2, x3))
new_primEqNat0(Zero, Zero)
new_esEs24(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, ty_Int)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_lt14(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_primCompAux00(x0, GT)
new_compare27(Nothing, Just(x0), False, x1)
new_compare10(x0, x1, False)
new_ltEs5(Left(x0), Left(x1), ty_Integer, x2)
new_primCompAux00(x0, EQ)
new_primMulNat0(Zero, Zero)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_compare6(x0, x1, ty_Integer)
new_lt20(x0, x1, ty_@0)
new_ltEs5(Right(x0), Right(x1), x2, ty_Bool)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_ltEs5(Left(x0), Left(x1), ty_Char, x2)
new_esEs28(x0, x1, ty_Char)
new_esEs4(Left(x0), Left(x1), ty_Double, x2)
new_compare19(x0, x1)
new_esEs25(x0, x1, ty_Int)
new_compare8(Float(x0, x1), Float(x2, x3))
new_esEs7(Nothing, Just(x0), x1)
new_esEs16(GT, GT)
new_esEs25(x0, x1, ty_Char)
new_lt13(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_ltEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(Just(x0), Just(x1), ty_Integer)
new_ltEs16(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_lt13(x0, x1, ty_Double)
new_esEs14(@0, @0)
new_ltEs18(x0, x1)
new_compare27(Just(x0), Nothing, False, x1)
new_primMulInt(Neg(x0), Neg(x1))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Float)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs24(x0, x1, ty_Char)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_esEs7(Just(x0), Just(x1), ty_Ordering)
new_ltEs20(x0, x1, ty_Integer)
new_ltEs8(x0, x1, x2)
new_compare12(:%(x0, x1), :%(x2, x3), ty_Integer)
new_lt5(x0, x1, x2)
new_esEs21(x0, x1, ty_Double)
new_esEs22(x0, x1, ty_@0)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs12(Nothing, Just(x0), x1)
new_lt14(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8(:(x0, x1), [], x2)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare16(@0, @0)
new_esEs4(Right(x0), Right(x1), x2, ty_Int)
new_esEs20(x0, x1, ty_@0)
new_pePe(False, x0)
new_ltEs7(x0, x1, ty_Double)
new_compare28(x0, x1, True, x2, x3)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs21(x0, x1, ty_Integer)
new_esEs22(x0, x1, ty_Double)
new_ltEs19(x0, x1, ty_Char)
new_esEs19(x0, x1, ty_Int)
new_compare29(x0, x1, True)
new_compare15(Integer(x0), Integer(x1))
new_compare29(x0, x1, False)
new_ltEs4(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt16(x0, x1, x2, x3, x4)
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpNat2(x0, Zero)
new_compare6(x0, x1, ty_@0)
new_compare113(x0, x1, True, x2, x3)
new_primPlusNat1(Zero, Zero)
new_ltEs9(x0, x1)
new_compare27(x0, x1, True, x2)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_compare6(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs21(x0, x1, ty_Ordering)
new_esEs24(x0, x1, ty_Integer)
new_ltEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(x0, x1, ty_Char)
new_ltEs19(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs28(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_compare0([], :(x0, x1), x2)
new_ltEs19(x0, x1, ty_Bool)
new_ltEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs26(x0, x1, ty_Bool)
new_primCompAux00(x0, LT)
new_esEs29(x0, x1, ty_Float)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_lt20(x0, x1, ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt10(x0, x1)
new_lt4(x0, x1, x2, x3)
new_lt11(x0, x1, x2)
new_ltEs7(x0, x1, ty_Bool)
new_lt14(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_@0)
new_compare26(x0, x1, True, x2, x3)
new_esEs26(x0, x1, ty_Integer)
new_ltEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_lt15(x0, x1)
new_ltEs7(x0, x1, app(ty_Maybe, x2))
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(Left(x0), Right(x1), x2, x3)
new_ltEs5(Right(x0), Left(x1), x2, x3)
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Ordering)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt14(x0, x1, app(ty_Maybe, x2))
new_compare111(x0, x1, True, x2, x3)
new_ltEs15(False, True)
new_ltEs15(True, False)
new_ltEs17(GT, GT)
new_lt14(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Int)
new_lt14(x0, x1, ty_Bool)
new_esEs25(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_compare110(x0, x1, False, x2, x3, x4)
new_esEs4(Right(x0), Right(x1), x2, ty_Integer)
new_esEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_compare210(x0, x1, True)
new_esEs20(x0, x1, ty_Int)
new_esEs7(Just(x0), Just(x1), ty_Float)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Double)
new_esEs22(x0, x1, ty_Int)
new_ltEs7(x0, x1, ty_Int)
new_ltEs12(Just(x0), Just(x1), ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, ty_Float)
new_lt18(x0, x1)
new_lt13(x0, x1, app(ty_Maybe, x2))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Zero, Succ(x0))
new_esEs15(True, False)
new_esEs15(False, True)
new_esEs7(Just(x0), Just(x1), ty_Int)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, ty_Bool)
new_esEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs4(Right(x0), Right(x1), x2, ty_Char)
new_ltEs7(x0, x1, ty_Char)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt17(x0, x1)
new_asAs(True, x0)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, ty_@0)
new_ltEs7(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Char)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs16(LT, LT)
new_compare17(x0, x1)
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_lt13(x0, x1, ty_Integer)
new_esEs7(Just(x0), Just(x1), ty_Char)
new_esEs26(x0, x1, ty_Ordering)
new_esEs18(x0, x1, ty_Integer)
new_sr0(Integer(x0), Integer(x1))
new_esEs28(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_esEs4(Left(x0), Right(x1), x2, x3)
new_esEs4(Right(x0), Left(x1), x2, x3)
new_ltEs10(x0, x1)
new_esEs22(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_Float)
new_esEs29(x0, x1, ty_Integer)
new_lt12(x0, x1, x2, x3)
new_compare10(x0, x1, True)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_ltEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt6(x0, x1)
new_esEs25(x0, x1, app(ty_[], x2))
new_ltEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs29(x0, x1, ty_Char)
new_lt13(x0, x1, ty_Bool)
new_ltEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs20(x0, x1, ty_Ordering)
new_lt14(x0, x1, ty_Integer)
new_ltEs11(x0, x1, x2)
new_ltEs12(Just(x0), Just(x1), ty_Double)
new_esEs26(x0, x1, app(ty_[], x2))
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_compare6(x0, x1, app(ty_Ratio, x2))
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8([], [], x0)
new_compare112(x0, x1, True, x2)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_asAs(False, x0)
new_compare6(x0, x1, app(ty_Maybe, x2))
new_lt13(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_@0)
new_primPlusNat1(Zero, Succ(x0))
new_compare6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), ty_@0, x2)
new_esEs4(Left(x0), Left(x1), ty_Char, x2)
new_compare6(x0, x1, ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, ty_Integer)
new_esEs7(Just(x0), Just(x1), ty_Integer)
new_ltEs5(Left(x0), Left(x1), ty_Float, x2)
new_compare14(Char(x0), Char(x1))
new_lt13(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs17(LT, GT)
new_ltEs17(GT, LT)
new_ltEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs23(x0, x1, ty_Float)
new_ltEs20(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_[], x2))
new_esEs12(Char(x0), Char(x1))
new_esEs23(x0, x1, ty_Char)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs28(x0, x1, ty_Ordering)
new_esEs4(Right(x0), Right(x1), x2, ty_@0)
new_esEs7(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Char)
new_compare0(:(x0, x1), [], x2)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs27(x0, x1, ty_Int)
new_esEs17(Double(x0, x1), Double(x2, x3))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpNat1(Succ(x0), Zero)
new_ltEs12(Just(x0), Just(x1), ty_Bool)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_compare6(x0, x1, ty_Double)
new_esEs7(Nothing, Nothing, x0)
new_ltEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Double)
new_compare24(x0, x1, False, x2, x3, x4)
new_primCmpNat1(Succ(x0), Succ(x1))
new_primPlusNat1(Succ(x0), Succ(x1))
new_ltEs12(Just(x0), Just(x1), ty_Char)
new_esEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs7(Just(x0), Just(x1), ty_Double)
new_ltEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_compare26(x0, x1, False, x2, x3)
new_ltEs7(x0, x1, ty_Float)
new_not(True)
new_esEs7(Just(x0), Just(x1), ty_Bool)
new_esEs24(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Char)
new_compare6(x0, x1, app(ty_[], x2))
new_esEs16(EQ, LT)
new_esEs16(LT, EQ)
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_compare12(:%(x0, x1), :%(x2, x3), ty_Int)
new_primCmpNat0(Succ(x0), x1)
new_esEs16(EQ, EQ)
new_esEs21(x0, x1, ty_@0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Double)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_ltEs19(x0, x1, ty_Int)
new_not(False)
new_esEs6(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs25(x0, x1, ty_Integer)
new_ltEs12(Just(x0), Just(x1), ty_@0)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Int)
new_esEs23(x0, x1, ty_Ordering)
new_esEs26(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), ty_@0, x2)
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Bool)
new_primMulNat0(Succ(x0), Succ(x1))
new_lt14(x0, x1, ty_@0)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(x0, x1, ty_Float)
new_ltEs13(x0, x1)
new_esEs4(Right(x0), Right(x1), x2, ty_Float)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_lt14(x0, x1, ty_Ordering)
new_compare6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs16(EQ, GT)
new_esEs16(GT, EQ)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt7(x0, x1)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare18(x0, x1, x2, x3)
new_ltEs5(Right(x0), Right(x1), x2, ty_Int)
new_ltEs17(LT, EQ)
new_compare111(x0, x1, False, x2, x3)
new_ltEs17(EQ, LT)
new_esEs7(Just(x0), Nothing, x1)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_lt14(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Integer)
new_esEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs23(x0, x1, ty_Int)
new_compare112(x0, x1, False, x2)
new_esEs26(x0, x1, ty_@0)
new_ltEs5(Left(x0), Left(x1), ty_Int, x2)
new_esEs7(Just(x0), Just(x1), ty_@0)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs12(Nothing, Nothing, x0)
new_ltEs6(x0, x1)
new_ltEs12(Just(x0), Just(x1), ty_Int)
new_esEs19(x0, x1, ty_Integer)
new_compare0([], [], x0)
new_esEs24(x0, x1, ty_Double)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_lt14(x0, x1, ty_Double)
new_ltEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs23(x0, x1, ty_Bool)
new_esEs8([], :(x0, x1), x2)
new_ltEs19(x0, x1, ty_Integer)
new_primPlusNat0(Zero, x0)
new_primEqNat0(Zero, Succ(x0))
new_esEs25(x0, x1, ty_Double)
new_esEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs5(Left(x0), Left(x1), ty_Double, x2)
new_primCmpNat2(x0, Succ(x1))
new_esEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs11(:%(x0, x1), :%(x2, x3), x4)
new_esEs22(x0, x1, ty_Integer)
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_lt13(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_lt13(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare11(x0, x1, False)
new_esEs20(x0, x1, ty_Char)
new_ltEs17(EQ, EQ)
new_esEs22(x0, x1, ty_Char)
new_ltEs17(LT, LT)
new_esEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Bool)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_compare11(x0, x1, True)
new_esEs7(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Bool)
new_lt13(x0, x1, ty_Ordering)
new_esEs20(x0, x1, app(ty_Ratio, x2))

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_esEs29(x0, x1, app(ty_Maybe, x2))
new_esEs29(x0, x1, app(ty_[], x2))
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs29(x0, x1, ty_Double)
new_esEs29(x0, x1, ty_Int)
new_esEs29(x0, x1, ty_Ordering)
new_esEs29(x0, x1, ty_Bool)
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_esEs29(x0, x1, ty_Float)
new_esEs29(x0, x1, ty_@0)
new_esEs29(x0, x1, ty_Integer)
new_esEs29(x0, x1, ty_Char)
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ AND
                                        ↳ QDP
                                        ↳ QDP
                                          ↳ UsableRulesProof
                                            ↳ QDP
                                              ↳ QReductionProof
QDP
                                                  ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_splitGT2(ywz400, ywz41, ywz42, ywz43, Branch(ywz440, ywz441, ywz442, ywz443, ywz444), True, h, ba) → new_splitGT3(ywz440, ywz441, ywz442, ywz443, ywz444, Nothing, h, ba)
new_splitGT3(Nothing, ywz41, ywz42, ywz43, ywz44, Nothing, h, ba) → new_splitGT1(ywz41, ywz42, ywz43, ywz44, new_lt5(Nothing, Nothing, h), h, ba)
new_splitGT3(Just(ywz400), ywz41, ywz42, ywz43, ywz44, Nothing, h, ba) → new_splitGT2(ywz400, ywz41, ywz42, ywz43, ywz44, new_esEs16(new_compare27(Nothing, Just(ywz400), False, h), GT), h, ba)
new_splitGT10(ywz400, ywz41, ywz42, ywz43, ywz44, True, h, ba) → new_splitGT(ywz43, h, ba)
new_splitGT(Branch(ywz440, ywz441, ywz442, ywz443, ywz444), h, ba) → new_splitGT3(ywz440, ywz441, ywz442, ywz443, ywz444, Nothing, h, ba)
new_splitGT1(ywz41, ywz42, ywz43, ywz44, True, h, ba) → new_splitGT(ywz43, h, ba)
new_splitGT2(ywz400, ywz41, ywz42, ywz43, ywz44, False, h, ba) → new_splitGT10(ywz400, ywz41, ywz42, ywz43, ywz44, new_lt5(Nothing, Just(ywz400), h), h, ba)

The TRS R consists of the following rules:

new_lt5(ywz50, ywz40, h) → new_esEs16(new_compare13(ywz50, ywz40, h), LT)
new_compare13(ywz50, ywz40, h) → new_compare27(ywz50, ywz40, new_esEs7(ywz50, ywz40, h), h)
new_esEs16(GT, LT) → False
new_esEs16(EQ, LT) → False
new_esEs16(LT, LT) → True
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_[], bh)) → new_esEs8(ywz5000, ywz4000, bh)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_Ratio, cc)) → new_esEs11(ywz5000, ywz4000, cc)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(ty_@2, da), db)) → new_esEs6(ywz5000, ywz4000, da, db)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs7(Nothing, Nothing, bg) → True
new_esEs7(Just(ywz5000), Nothing, bg) → False
new_esEs7(Nothing, Just(ywz4000), bg) → False
new_esEs7(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, ce), cf), cg)) → new_esEs5(ywz5000, ywz4000, ce, cf, cg)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(ty_Either, ca), cb)) → new_esEs4(ywz5000, ywz4000, ca, cb)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(ty_Maybe, baa)) → new_esEs7(ywz5000, ywz4000, baa)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_Maybe, cd)) → new_esEs7(ywz5000, ywz4000, cd)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(app(ty_Either, hf), hg)) → new_esEs4(ywz5000, ywz4000, hf, hg)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(ty_Either, gd), ge), fb) → new_esEs4(ywz5000, ywz4000, gd, ge)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_Maybe, gg), fb) → new_esEs7(ywz5000, ywz4000, gg)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs10(ywz5000, ywz4000)
new_compare27(Just(ywz500), Just(ywz400), False, h) → new_compare112(ywz500, ywz400, new_ltEs7(ywz500, ywz400, h), h)
new_compare27(Nothing, Just(ywz400), False, h) → LT
new_compare27(Just(ywz500), Nothing, False, h) → GT
new_compare27(Nothing, Nothing, False, h) → LT
new_compare27(ywz50, ywz40, True, h) → EQ
new_ltEs7(ywz500, ywz400, app(ty_Ratio, ef)) → new_ltEs11(ywz500, ywz400, ef)
new_ltEs7(ywz500, ywz400, app(ty_[], dc)) → new_ltEs8(ywz500, ywz400, dc)
new_ltEs7(ywz500, ywz400, ty_Char) → new_ltEs6(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, ty_Double) → new_ltEs18(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, ty_Integer) → new_ltEs13(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, ty_@0) → new_ltEs14(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, app(app(ty_@2, fg), fh)) → new_ltEs16(ywz500, ywz400, fg, fh)
new_ltEs7(ywz500, ywz400, ty_Float) → new_ltEs10(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, ty_Bool) → new_ltEs15(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, app(app(ty_Either, fa), fb)) → new_ltEs5(ywz500, ywz400, fa, fb)
new_ltEs7(ywz500, ywz400, ty_Int) → new_ltEs9(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, ty_Ordering) → new_ltEs17(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, app(app(app(ty_@3, fc), fd), ff)) → new_ltEs4(ywz500, ywz400, fc, fd, ff)
new_ltEs7(ywz500, ywz400, app(ty_Maybe, bg)) → new_ltEs12(ywz500, ywz400, bg)
new_compare112(ywz95, ywz96, True, bdf) → LT
new_compare112(ywz95, ywz96, False, bdf) → GT
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Double) → new_ltEs18(ywz5000, ywz4000)
new_ltEs12(Nothing, Nothing, bg) → True
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Integer) → new_ltEs13(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_Ratio, cc)) → new_ltEs11(ywz5000, ywz4000, cc)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(ty_@2, da), db)) → new_ltEs16(ywz5000, ywz4000, da, db)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_[], bh)) → new_ltEs8(ywz5000, ywz4000, bh)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Float) → new_ltEs10(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_@0) → new_ltEs14(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_ltEs17(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, ce), cf), cg)) → new_ltEs4(ywz5000, ywz4000, ce, cf, cg)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Char) → new_ltEs6(ywz5000, ywz4000)
new_ltEs12(Nothing, Just(ywz4000), bg) → True
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Bool) → new_ltEs15(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Int) → new_ltEs9(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Nothing, bg) → False
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_Maybe, gg), fb) → new_ltEs12(ywz5000, ywz4000, gg)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(ty_Either, gd), ge), fb) → new_ltEs5(ywz5000, ywz4000, gd, ge)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_Maybe, cd)) → new_ltEs12(ywz5000, ywz4000, cd)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(ty_Either, ca), cb)) → new_ltEs5(ywz5000, ywz4000, ca, cb)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(app(ty_Either, hf), hg)) → new_ltEs5(ywz5000, ywz4000, hf, hg)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(ty_Maybe, baa)) → new_ltEs12(ywz5000, ywz4000, baa)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(ty_@2, hc), hd), fb) → new_ltEs16(ywz5000, ywz4000, hc, hd)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Int) → new_ltEs9(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Int, fb) → new_ltEs9(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(ty_[], he)) → new_ltEs8(ywz5000, ywz4000, he)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Float) → new_ltEs10(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Right(ywz4000), fa, fb) → True
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Float, fb) → new_ltEs10(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Left(ywz4000), fa, fb) → False
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Integer, fb) → new_ltEs13(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Char, fb) → new_ltEs6(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_@0) → new_ltEs14(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_@0, fb) → new_ltEs14(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Ordering, fb) → new_ltEs17(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Ordering) → new_ltEs17(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Char) → new_ltEs6(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_Ratio, gf), fb) → new_ltEs11(ywz5000, ywz4000, gf)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(app(app(ty_@3, bab), bac), bad)) → new_ltEs4(ywz5000, ywz4000, bab, bac, bad)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Bool) → new_ltEs15(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(ty_Ratio, hh)) → new_ltEs11(ywz5000, ywz4000, hh)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Double) → new_ltEs18(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Bool, fb) → new_ltEs15(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_[], gc), fb) → new_ltEs8(ywz5000, ywz4000, gc)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Double, fb) → new_ltEs18(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(app(ty_@2, bae), baf)) → new_ltEs16(ywz5000, ywz4000, bae, baf)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, gh), ha), hb), fb) → new_ltEs4(ywz5000, ywz4000, gh, ha, hb)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Integer) → new_ltEs13(ywz5000, ywz4000)
new_ltEs13(ywz500, ywz400) → new_not(new_esEs16(new_compare15(ywz500, ywz400), GT))
new_compare15(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_esEs16(EQ, GT) → False
new_esEs16(LT, GT) → False
new_esEs16(GT, GT) → True
new_not(False) → True
new_not(True) → False
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat0(Zero, ywz40000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat2(ywz40000, Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat0(ywz4000, ywz50000)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat2(ywz50000, ywz4000)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_primCmpNat2(ywz50000, Succ(ywz40000)) → new_primCmpNat1(ywz50000, ywz40000)
new_primCmpNat2(ywz50000, Zero) → GT
new_primCmpNat1(Zero, Succ(ywz400000)) → LT
new_primCmpNat1(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat1(ywz500000, ywz400000)
new_primCmpNat1(Zero, Zero) → EQ
new_primCmpNat1(Succ(ywz500000), Zero) → GT
new_primCmpNat0(Succ(ywz40000), ywz50000) → new_primCmpNat1(ywz40000, ywz50000)
new_primCmpNat0(Zero, ywz50000) → LT
new_ltEs4(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), fc, fd, ff) → new_pePe(new_lt14(ywz5000, ywz4000, fc), new_asAs(new_esEs23(ywz5000, ywz4000, fc), new_pePe(new_lt13(ywz5001, ywz4001, fd), new_asAs(new_esEs24(ywz5001, ywz4001, fd), new_ltEs19(ywz5002, ywz4002, ff)))))
new_lt14(ywz5000, ywz4000, app(app(ty_@2, ga), gb)) → new_lt4(ywz5000, ywz4000, ga, gb)
new_lt14(ywz5000, ywz4000, app(app(ty_Either, eg), eh)) → new_lt12(ywz5000, ywz4000, eg, eh)
new_lt14(ywz5000, ywz4000, ty_Int) → new_lt10(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_lt5(ywz5000, ywz4000, bba)
new_lt14(ywz5000, ywz4000, ty_Char) → new_lt15(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, app(ty_Ratio, bah)) → new_lt11(ywz5000, ywz4000, bah)
new_lt14(ywz5000, ywz4000, ty_Ordering) → new_lt18(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, ty_Double) → new_lt19(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, app(app(app(ty_@3, bd), be), bf)) → new_lt16(ywz5000, ywz4000, bd, be, bf)
new_lt14(ywz5000, ywz4000, ty_Float) → new_lt6(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, ty_Integer) → new_lt8(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, app(ty_[], bag)) → new_lt9(ywz5000, ywz4000, bag)
new_lt14(ywz5000, ywz4000, ty_Bool) → new_lt17(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, ty_@0) → new_lt7(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_esEs7(ywz5000, ywz4000, bba)
new_esEs23(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, app(ty_[], bag)) → new_esEs8(ywz5000, ywz4000, bag)
new_esEs23(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, app(app(ty_@2, ga), gb)) → new_esEs6(ywz5000, ywz4000, ga, gb)
new_esEs23(ywz5000, ywz4000, app(ty_Ratio, bah)) → new_esEs11(ywz5000, ywz4000, bah)
new_esEs23(ywz5000, ywz4000, app(app(ty_Either, eg), eh)) → new_esEs4(ywz5000, ywz4000, eg, eh)
new_esEs23(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, app(app(app(ty_@3, bd), be), bf)) → new_esEs5(ywz5000, ywz4000, bd, be, bf)
new_lt13(ywz5001, ywz4001, ty_@0) → new_lt7(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, ty_Integer) → new_lt8(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, ty_Float) → new_lt6(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, ty_Char) → new_lt15(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, app(ty_Maybe, bbf)) → new_lt5(ywz5001, ywz4001, bbf)
new_lt13(ywz5001, ywz4001, app(ty_[], bbb)) → new_lt9(ywz5001, ywz4001, bbb)
new_lt13(ywz5001, ywz4001, app(app(ty_Either, bbc), bbd)) → new_lt12(ywz5001, ywz4001, bbc, bbd)
new_lt13(ywz5001, ywz4001, ty_Ordering) → new_lt18(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, app(ty_Ratio, bbe)) → new_lt11(ywz5001, ywz4001, bbe)
new_lt13(ywz5001, ywz4001, ty_Double) → new_lt19(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, app(app(ty_@2, bcb), bcc)) → new_lt4(ywz5001, ywz4001, bcb, bcc)
new_lt13(ywz5001, ywz4001, ty_Int) → new_lt10(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, app(app(app(ty_@3, bbg), bbh), bca)) → new_lt16(ywz5001, ywz4001, bbg, bbh, bca)
new_lt13(ywz5001, ywz4001, ty_Bool) → new_lt17(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, app(app(app(ty_@3, bbg), bbh), bca)) → new_esEs5(ywz5001, ywz4001, bbg, bbh, bca)
new_esEs24(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, app(ty_Maybe, bbf)) → new_esEs7(ywz5001, ywz4001, bbf)
new_esEs24(ywz5001, ywz4001, app(app(ty_@2, bcb), bcc)) → new_esEs6(ywz5001, ywz4001, bcb, bcc)
new_esEs24(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, app(ty_Ratio, bbe)) → new_esEs11(ywz5001, ywz4001, bbe)
new_esEs24(ywz5001, ywz4001, app(ty_[], bbb)) → new_esEs8(ywz5001, ywz4001, bbb)
new_esEs24(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, app(app(ty_Either, bbc), bbd)) → new_esEs4(ywz5001, ywz4001, bbc, bbd)
new_esEs24(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_ltEs19(ywz5002, ywz4002, app(ty_[], bcd)) → new_ltEs8(ywz5002, ywz4002, bcd)
new_ltEs19(ywz5002, ywz4002, app(ty_Ratio, bcg)) → new_ltEs11(ywz5002, ywz4002, bcg)
new_ltEs19(ywz5002, ywz4002, app(ty_Maybe, bch)) → new_ltEs12(ywz5002, ywz4002, bch)
new_ltEs19(ywz5002, ywz4002, ty_Char) → new_ltEs6(ywz5002, ywz4002)
new_ltEs19(ywz5002, ywz4002, ty_Float) → new_ltEs10(ywz5002, ywz4002)
new_ltEs19(ywz5002, ywz4002, app(app(app(ty_@3, bda), bdb), bdc)) → new_ltEs4(ywz5002, ywz4002, bda, bdb, bdc)
new_ltEs19(ywz5002, ywz4002, ty_Bool) → new_ltEs15(ywz5002, ywz4002)
new_ltEs19(ywz5002, ywz4002, ty_Ordering) → new_ltEs17(ywz5002, ywz4002)
new_ltEs19(ywz5002, ywz4002, ty_Double) → new_ltEs18(ywz5002, ywz4002)
new_ltEs19(ywz5002, ywz4002, ty_Int) → new_ltEs9(ywz5002, ywz4002)
new_ltEs19(ywz5002, ywz4002, app(app(ty_Either, bce), bcf)) → new_ltEs5(ywz5002, ywz4002, bce, bcf)
new_ltEs19(ywz5002, ywz4002, ty_@0) → new_ltEs14(ywz5002, ywz4002)
new_ltEs19(ywz5002, ywz4002, app(app(ty_@2, bdd), bde)) → new_ltEs16(ywz5002, ywz4002, bdd, bde)
new_ltEs19(ywz5002, ywz4002, ty_Integer) → new_ltEs13(ywz5002, ywz4002)
new_asAs(False, ywz102) → False
new_asAs(True, ywz102) → ywz102
new_pePe(False, ywz175) → ywz175
new_pePe(True, ywz175) → True
new_ltEs16(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), fg, fh) → new_pePe(new_lt20(ywz5000, ywz4000, fg), new_asAs(new_esEs26(ywz5000, ywz4000, fg), new_ltEs20(ywz5001, ywz4001, fh)))
new_lt20(ywz5000, ywz4000, ty_Int) → new_lt10(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_@0) → new_lt7(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Float) → new_lt6(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(ty_Either, bdh), bea)) → new_lt12(ywz5000, ywz4000, bdh, bea)
new_lt20(ywz5000, ywz4000, app(ty_[], bdg)) → new_lt9(ywz5000, ywz4000, bdg)
new_lt20(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_lt11(ywz5000, ywz4000, beb)
new_lt20(ywz5000, ywz4000, ty_Integer) → new_lt8(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_lt5(ywz5000, ywz4000, bec)
new_lt20(ywz5000, ywz4000, app(app(ty_@2, beg), beh)) → new_lt4(ywz5000, ywz4000, beg, beh)
new_lt20(ywz5000, ywz4000, ty_Ordering) → new_lt18(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Double) → new_lt19(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_lt16(ywz5000, ywz4000, bed, bee, bef)
new_lt20(ywz5000, ywz4000, ty_Bool) → new_lt17(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Char) → new_lt15(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, app(ty_[], bdg)) → new_esEs8(ywz5000, ywz4000, bdg)
new_esEs26(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_esEs7(ywz5000, ywz4000, bec)
new_esEs26(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_esEs11(ywz5000, ywz4000, beb)
new_esEs26(ywz5000, ywz4000, app(app(ty_Either, bdh), bea)) → new_esEs4(ywz5000, ywz4000, bdh, bea)
new_esEs26(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_esEs5(ywz5000, ywz4000, bed, bee, bef)
new_esEs26(ywz5000, ywz4000, app(app(ty_@2, beg), beh)) → new_esEs6(ywz5000, ywz4000, beg, beh)
new_ltEs20(ywz5001, ywz4001, ty_Int) → new_ltEs9(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, app(ty_Ratio, bfd)) → new_ltEs11(ywz5001, ywz4001, bfd)
new_ltEs20(ywz5001, ywz4001, app(app(app(ty_@3, bff), bfg), bfh)) → new_ltEs4(ywz5001, ywz4001, bff, bfg, bfh)
new_ltEs20(ywz5001, ywz4001, app(ty_[], bfa)) → new_ltEs8(ywz5001, ywz4001, bfa)
new_ltEs20(ywz5001, ywz4001, app(ty_Maybe, bfe)) → new_ltEs12(ywz5001, ywz4001, bfe)
new_ltEs20(ywz5001, ywz4001, ty_Integer) → new_ltEs13(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_@0) → new_ltEs14(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Double) → new_ltEs18(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Ordering) → new_ltEs17(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Bool) → new_ltEs15(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Float) → new_ltEs10(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Char) → new_ltEs6(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, app(app(ty_@2, bga), bgb)) → new_ltEs16(ywz5001, ywz4001, bga, bgb)
new_ltEs20(ywz5001, ywz4001, app(app(ty_Either, bfb), bfc)) → new_ltEs5(ywz5001, ywz4001, bfb, bfc)
new_ltEs6(ywz500, ywz400) → new_not(new_esEs16(new_compare14(ywz500, ywz400), GT))
new_compare14(Char(ywz5000), Char(ywz4000)) → new_primCmpNat1(ywz5000, ywz4000)
new_ltEs10(ywz500, ywz400) → new_not(new_esEs16(new_compare8(ywz500, ywz400), GT))
new_compare8(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare7(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_sr(ywz5001, ywz4001) → new_primMulInt(ywz5001, ywz4001)
new_compare7(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_primMulInt(Pos(ywz50010), Pos(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Neg(ywz50010), Neg(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Neg(ywz50010), Pos(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Pos(ywz50010), Neg(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Zero, Succ(ywz400100)) → Zero
new_primMulNat0(Succ(ywz500100), Zero) → Zero
new_primMulNat0(Succ(ywz500100), Succ(ywz400100)) → new_primPlusNat0(new_primMulNat0(ywz500100, Succ(ywz400100)), ywz400100)
new_primPlusNat0(Succ(ywz1950), ywz400100) → Succ(Succ(new_primPlusNat1(ywz1950, ywz400100)))
new_primPlusNat0(Zero, ywz400100) → Succ(ywz400100)
new_primPlusNat1(Succ(ywz19500), Zero) → Succ(ywz19500)
new_primPlusNat1(Zero, Succ(ywz4001000)) → Succ(ywz4001000)
new_primPlusNat1(Succ(ywz19500), Succ(ywz4001000)) → Succ(Succ(new_primPlusNat1(ywz19500, ywz4001000)))
new_primPlusNat1(Zero, Zero) → Zero
new_ltEs15(True, False) → False
new_ltEs15(True, True) → True
new_ltEs15(False, True) → True
new_ltEs15(False, False) → True
new_ltEs17(LT, LT) → True
new_ltEs17(EQ, LT) → False
new_ltEs17(GT, LT) → False
new_ltEs17(LT, GT) → True
new_ltEs17(EQ, EQ) → True
new_ltEs17(GT, GT) → True
new_ltEs17(GT, EQ) → False
new_ltEs17(LT, EQ) → True
new_ltEs17(EQ, GT) → True
new_ltEs18(ywz500, ywz400) → new_not(new_esEs16(new_compare25(ywz500, ywz400), GT))
new_compare25(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare7(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs14(ywz500, ywz400) → new_not(new_esEs16(new_compare16(ywz500, ywz400), GT))
new_compare16(@0, @0) → EQ
new_ltEs8(ywz500, ywz400, dc) → new_not(new_esEs16(new_compare0(ywz500, ywz400, dc), GT))
new_compare0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), dc) → new_primCompAux0(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, dc), dc)
new_compare0([], [], dc) → EQ
new_compare0(:(ywz5000, ywz5001), [], dc) → GT
new_compare0([], :(ywz4000, ywz4001), dc) → LT
new_primCompAux0(ywz5000, ywz4000, ywz228, dc) → new_primCompAux00(ywz228, new_compare6(ywz5000, ywz4000, dc))
new_compare6(ywz5000, ywz4000, ty_Double) → new_compare25(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(app(ty_@2, ed), ee)) → new_compare18(ywz5000, ywz4000, ed, ee)
new_compare6(ywz5000, ywz4000, app(ty_[], dd)) → new_compare0(ywz5000, ywz4000, dd)
new_compare6(ywz5000, ywz4000, ty_Integer) → new_compare15(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, ty_@0) → new_compare16(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, ty_Bool) → new_compare17(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_Ratio, dg)) → new_compare12(ywz5000, ywz4000, dg)
new_compare6(ywz5000, ywz4000, ty_Char) → new_compare14(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(app(ty_Either, de), df)) → new_compare9(ywz5000, ywz4000, de, df)
new_compare6(ywz5000, ywz4000, ty_Float) → new_compare8(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(app(app(ty_@3, ea), eb), ec)) → new_compare5(ywz5000, ywz4000, ea, eb, ec)
new_compare6(ywz5000, ywz4000, ty_Ordering) → new_compare19(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, ty_Int) → new_compare7(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_Maybe, dh)) → new_compare13(ywz5000, ywz4000, dh)
new_primCompAux00(ywz280, LT) → LT
new_primCompAux00(ywz280, EQ) → ywz280
new_primCompAux00(ywz280, GT) → GT
new_compare19(ywz5000, ywz4000) → new_compare29(ywz5000, ywz4000, new_esEs16(ywz5000, ywz4000))
new_esEs16(GT, EQ) → False
new_esEs16(LT, EQ) → False
new_esEs16(EQ, EQ) → True
new_compare29(ywz5000, ywz4000, True) → EQ
new_compare29(ywz5000, ywz4000, False) → new_compare11(ywz5000, ywz4000, new_ltEs17(ywz5000, ywz4000))
new_compare11(ywz5000, ywz4000, False) → GT
new_compare11(ywz5000, ywz4000, True) → LT
new_compare5(ywz5000, ywz4000, bd, be, bf) → new_compare24(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bd, be, bf), bd, be, bf)
new_esEs5(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), fc, fd, ff) → new_asAs(new_esEs20(ywz5000, ywz4000, fc), new_asAs(new_esEs21(ywz5001, ywz4001, fd), new_esEs22(ywz5002, ywz4002, ff)))
new_compare24(ywz5000, ywz4000, True, bd, be, bf) → EQ
new_compare24(ywz5000, ywz4000, False, bd, be, bf) → new_compare110(ywz5000, ywz4000, new_ltEs4(ywz5000, ywz4000, bd, be, bf), bd, be, bf)
new_compare110(ywz5000, ywz4000, True, bd, be, bf) → LT
new_compare110(ywz5000, ywz4000, False, bd, be, bf) → GT
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_esEs7(ywz5000, ywz4000, bba)
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, eg), eh)) → new_esEs4(ywz5000, ywz4000, eg, eh)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, ga), gb)) → new_esEs6(ywz5000, ywz4000, ga, gb)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_[], bag)) → new_esEs8(ywz5000, ywz4000, bag)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, bah)) → new_esEs11(ywz5000, ywz4000, bah)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, bd), be), bf)) → new_esEs5(ywz5000, ywz4000, bd, be, bf)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, bcb), bcc)) → new_esEs6(ywz5001, ywz4001, bcb, bcc)
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bbc), bbd)) → new_esEs4(ywz5001, ywz4001, bbc, bbd)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bbg), bbh), bca)) → new_esEs5(ywz5001, ywz4001, bbg, bbh, bca)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bbf)) → new_esEs7(ywz5001, ywz4001, bbf)
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_[], bbb)) → new_esEs8(ywz5001, ywz4001, bbb)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bbe)) → new_esEs11(ywz5001, ywz4001, bbe)
new_esEs22(ywz5002, ywz4002, ty_Double) → new_esEs17(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, ty_Char) → new_esEs12(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, app(ty_[], bcd)) → new_esEs8(ywz5002, ywz4002, bcd)
new_esEs22(ywz5002, ywz4002, app(app(ty_Either, bce), bcf)) → new_esEs4(ywz5002, ywz4002, bce, bcf)
new_esEs22(ywz5002, ywz4002, app(app(app(ty_@3, bda), bdb), bdc)) → new_esEs5(ywz5002, ywz4002, bda, bdb, bdc)
new_esEs22(ywz5002, ywz4002, ty_Integer) → new_esEs13(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, app(app(ty_@2, bdd), bde)) → new_esEs6(ywz5002, ywz4002, bdd, bde)
new_esEs22(ywz5002, ywz4002, ty_Int) → new_esEs9(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, ty_Ordering) → new_esEs16(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, ty_Bool) → new_esEs15(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, ty_@0) → new_esEs14(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, ty_Float) → new_esEs10(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, app(ty_Ratio, bcg)) → new_esEs11(ywz5002, ywz4002, bcg)
new_esEs22(ywz5002, ywz4002, app(ty_Maybe, bch)) → new_esEs7(ywz5002, ywz4002, bch)
new_esEs11(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ef) → new_asAs(new_esEs18(ywz5000, ywz4000, ef), new_esEs19(ywz5001, ywz4001, ef))
new_esEs18(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs18(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs19(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_esEs19(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs13(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_primEqNat0(Succ(ywz50000), Zero) → False
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_esEs9(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_esEs10(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs9(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs14(@0, @0) → True
new_esEs15(True, False) → False
new_esEs15(False, True) → False
new_esEs15(True, True) → True
new_esEs15(False, False) → True
new_esEs6(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), fg, fh) → new_asAs(new_esEs27(ywz5000, ywz4000, fg), new_esEs28(ywz5001, ywz4001, fh))
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_esEs7(ywz5000, ywz4000, bec)
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_[], bdg)) → new_esEs8(ywz5000, ywz4000, bdg)
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_esEs5(ywz5000, ywz4000, bed, bee, bef)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_esEs11(ywz5000, ywz4000, beb)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, beg), beh)) → new_esEs6(ywz5000, ywz4000, beg, beh)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, bdh), bea)) → new_esEs4(ywz5000, ywz4000, bdh, bea)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs28(ywz5001, ywz4001, app(app(app(ty_@3, bff), bfg), bfh)) → new_esEs5(ywz5001, ywz4001, bff, bfg, bfh)
new_esEs28(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, app(ty_[], bfa)) → new_esEs8(ywz5001, ywz4001, bfa)
new_esEs28(ywz5001, ywz4001, app(ty_Maybe, bfe)) → new_esEs7(ywz5001, ywz4001, bfe)
new_esEs28(ywz5001, ywz4001, app(app(ty_@2, bga), bgb)) → new_esEs6(ywz5001, ywz4001, bga, bgb)
new_esEs28(ywz5001, ywz4001, app(app(ty_Either, bfb), bfc)) → new_esEs4(ywz5001, ywz4001, bfb, bfc)
new_esEs28(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, app(ty_Ratio, bfd)) → new_esEs11(ywz5001, ywz4001, bfd)
new_esEs28(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_esEs12(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_esEs17(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs9(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(ty_[], he)) → new_esEs8(ywz5000, ywz4000, he)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(ty_@2, hc), hd), fb) → new_esEs6(ywz5000, ywz4000, hc, hd)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Char, fb) → new_esEs12(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Int, fb) → new_esEs9(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, gh), ha), hb), fb) → new_esEs5(ywz5000, ywz4000, gh, ha, hb)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_Ratio, gf), fb) → new_esEs11(ywz5000, ywz4000, gf)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Ordering, fb) → new_esEs16(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Double, fb) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(app(app(ty_@3, bab), bac), bad)) → new_esEs5(ywz5000, ywz4000, bab, bac, bad)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(app(ty_@2, bae), baf)) → new_esEs6(ywz5000, ywz4000, bae, baf)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_[], gc), fb) → new_esEs8(ywz5000, ywz4000, gc)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Bool, fb) → new_esEs15(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Float, fb) → new_esEs10(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Integer, fb) → new_esEs13(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(ty_Ratio, hh)) → new_esEs11(ywz5000, ywz4000, hh)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Right(ywz4000), fa, fb) → False
new_esEs4(Right(ywz5000), Left(ywz4000), fa, fb) → False
new_esEs4(Left(ywz5000), Left(ywz4000), ty_@0, fb) → new_esEs14(ywz5000, ywz4000)
new_esEs8(:(ywz5000, ywz5001), :(ywz4000, ywz4001), dc) → new_asAs(new_esEs25(ywz5000, ywz4000, dc), new_esEs8(ywz5001, ywz4001, dc))
new_esEs8([], [], dc) → True
new_esEs8([], :(ywz4000, ywz4001), dc) → False
new_esEs8(:(ywz5000, ywz5001), [], dc) → False
new_esEs25(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(app(ty_Either, de), df)) → new_esEs4(ywz5000, ywz4000, de, df)
new_esEs25(ywz5000, ywz4000, app(app(ty_@2, ed), ee)) → new_esEs6(ywz5000, ywz4000, ed, ee)
new_esEs25(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(ty_[], dd)) → new_esEs8(ywz5000, ywz4000, dd)
new_esEs25(ywz5000, ywz4000, app(ty_Ratio, dg)) → new_esEs11(ywz5000, ywz4000, dg)
new_esEs25(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(ty_Maybe, dh)) → new_esEs7(ywz5000, ywz4000, dh)
new_esEs25(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(app(app(ty_@3, ea), eb), ec)) → new_esEs5(ywz5000, ywz4000, ea, eb, ec)
new_compare9(ywz5000, ywz4000, eg, eh) → new_compare26(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, eg, eh), eg, eh)
new_compare26(ywz5000, ywz4000, True, eg, eh) → EQ
new_compare26(ywz5000, ywz4000, False, eg, eh) → new_compare111(ywz5000, ywz4000, new_ltEs5(ywz5000, ywz4000, eg, eh), eg, eh)
new_compare111(ywz5000, ywz4000, False, eg, eh) → GT
new_compare111(ywz5000, ywz4000, True, eg, eh) → LT
new_compare12(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare7(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_compare12(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare15(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_sr0(Integer(ywz40000), Integer(ywz50010)) → Integer(new_primMulInt(ywz40000, ywz50010))
new_compare17(ywz5000, ywz4000) → new_compare210(ywz5000, ywz4000, new_esEs15(ywz5000, ywz4000))
new_compare210(ywz5000, ywz4000, False) → new_compare10(ywz5000, ywz4000, new_ltEs15(ywz5000, ywz4000))
new_compare210(ywz5000, ywz4000, True) → EQ
new_compare10(ywz5000, ywz4000, True) → LT
new_compare10(ywz5000, ywz4000, False) → GT
new_compare18(ywz5000, ywz4000, ga, gb) → new_compare28(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, ga, gb), ga, gb)
new_compare28(ywz5000, ywz4000, True, ga, gb) → EQ
new_compare28(ywz5000, ywz4000, False, ga, gb) → new_compare113(ywz5000, ywz4000, new_ltEs16(ywz5000, ywz4000, ga, gb), ga, gb)
new_compare113(ywz5000, ywz4000, True, ga, gb) → LT
new_compare113(ywz5000, ywz4000, False, ga, gb) → GT
new_ltEs11(ywz500, ywz400, ef) → new_not(new_esEs16(new_compare12(ywz500, ywz400, ef), GT))
new_ltEs9(ywz500, ywz400) → new_not(new_esEs16(new_compare7(ywz500, ywz400), GT))
new_lt15(ywz5000, ywz4000) → new_esEs16(new_compare14(ywz5000, ywz4000), LT)
new_lt17(ywz5000, ywz4000) → new_esEs16(new_compare17(ywz5000, ywz4000), LT)
new_lt16(ywz5000, ywz4000, bd, be, bf) → new_esEs16(new_compare5(ywz5000, ywz4000, bd, be, bf), LT)
new_lt19(ywz5000, ywz4000) → new_esEs16(new_compare25(ywz5000, ywz4000), LT)
new_lt18(ywz5000, ywz4000) → new_esEs16(new_compare19(ywz5000, ywz4000), LT)
new_lt4(ywz5000, ywz4000, ga, gb) → new_esEs16(new_compare18(ywz5000, ywz4000, ga, gb), LT)
new_lt8(ywz5000, ywz4000) → new_esEs16(new_compare15(ywz5000, ywz4000), LT)
new_lt11(ywz5000, ywz4000, bah) → new_esEs16(new_compare12(ywz5000, ywz4000, bah), LT)
new_lt9(ywz5000, ywz4000, bag) → new_esEs16(new_compare0(ywz5000, ywz4000, bag), LT)
new_lt12(ywz5000, ywz4000, eg, eh) → new_esEs16(new_compare9(ywz5000, ywz4000, eg, eh), LT)
new_lt6(ywz5000, ywz4000) → new_esEs16(new_compare8(ywz5000, ywz4000), LT)
new_lt7(ywz5000, ywz4000) → new_esEs16(new_compare16(ywz5000, ywz4000), LT)
new_lt10(ywz5000, ywz4000) → new_esEs16(new_compare7(ywz5000, ywz4000), LT)

The set Q consists of the following terms:

new_esEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_sr(x0, x1)
new_lt13(x0, x1, ty_@0)
new_esEs7(Just(x0), Just(x1), app(ty_Maybe, x2))
new_lt13(x0, x1, app(ty_[], x2))
new_esEs20(x0, x1, ty_Double)
new_lt14(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs7(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), ty_Int, x2)
new_compare25(Double(x0, x1), Double(x2, x3))
new_esEs24(x0, x1, ty_Ordering)
new_esEs28(x0, x1, ty_Int)
new_lt14(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(x0, x1, ty_Bool)
new_primCmpNat1(Zero, Succ(x0))
new_esEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs21(x0, x1, ty_Int)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs24(x0, x1, ty_Bool)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_compare0(:(x0, x1), :(x2, x3), x4)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs7(x0, x1, ty_@0)
new_ltEs12(Just(x0), Nothing, x1)
new_esEs27(x0, x1, ty_Bool)
new_esEs8(:(x0, x1), :(x2, x3), x4)
new_primPlusNat1(Succ(x0), Zero)
new_esEs15(True, True)
new_lt13(x0, x1, app(ty_Ratio, x2))
new_ltEs17(EQ, GT)
new_ltEs17(GT, EQ)
new_primMulNat0(Succ(x0), Zero)
new_ltEs7(x0, x1, ty_Integer)
new_primPlusNat0(Succ(x0), x1)
new_compare6(x0, x1, ty_Int)
new_esEs13(Integer(x0), Integer(x1))
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs5(Right(x0), Right(x1), x2, ty_Double)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_esEs4(Left(x0), Left(x1), ty_Integer, x2)
new_primCompAux0(x0, x1, x2, x3)
new_ltEs15(True, True)
new_ltEs19(x0, x1, ty_Ordering)
new_compare27(Just(x0), Just(x1), False, x2)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, ty_Float)
new_esEs7(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt19(x0, x1)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_compare24(x0, x1, True, x2, x3, x4)
new_ltEs14(x0, x1)
new_esEs15(False, False)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_lt8(x0, x1)
new_esEs20(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs18(x0, x1, ty_Int)
new_ltEs15(False, False)
new_compare113(x0, x1, False, x2, x3)
new_ltEs19(x0, x1, ty_Double)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs16(LT, GT)
new_esEs16(GT, LT)
new_esEs4(Left(x0), Left(x1), ty_Float, x2)
new_esEs28(x0, x1, ty_@0)
new_compare6(x0, x1, ty_Float)
new_ltEs5(Right(x0), Right(x1), x2, ty_Char)
new_ltEs20(x0, x1, ty_@0)
new_esEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_compare28(x0, x1, False, x2, x3)
new_lt20(x0, x1, ty_Int)
new_primEqNat0(Succ(x0), Succ(x1))
new_primCmpNat0(Zero, x0)
new_pePe(True, x0)
new_ltEs5(Left(x0), Left(x1), ty_Bool, x2)
new_compare110(x0, x1, True, x2, x3, x4)
new_esEs23(x0, x1, ty_Double)
new_ltEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt20(x0, x1, ty_Integer)
new_esEs9(x0, x1)
new_compare7(x0, x1)
new_ltEs19(x0, x1, ty_Float)
new_esEs5(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Float)
new_ltEs12(Just(x0), Just(x1), app(ty_[], x2))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_compare5(x0, x1, x2, x3, x4)
new_compare210(x0, x1, False)
new_ltEs7(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpNat1(Zero, Zero)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt14(x0, x1, app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), ty_Float)
new_esEs23(x0, x1, ty_Integer)
new_compare9(x0, x1, x2, x3)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_ltEs20(x0, x1, ty_Double)
new_ltEs7(x0, x1, app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_compare13(x0, x1, x2)
new_ltEs5(Right(x0), Right(x1), x2, ty_@0)
new_esEs7(Just(x0), Just(x1), app(ty_[], x2))
new_compare27(Nothing, Nothing, False, x0)
new_lt13(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, ty_Float)
new_esEs4(Left(x0), Left(x1), ty_Bool, x2)
new_lt9(x0, x1, x2)
new_esEs7(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs10(Float(x0, x1), Float(x2, x3))
new_primEqNat0(Zero, Zero)
new_esEs24(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, ty_Int)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_lt14(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_primCompAux00(x0, GT)
new_compare27(Nothing, Just(x0), False, x1)
new_compare10(x0, x1, False)
new_ltEs5(Left(x0), Left(x1), ty_Integer, x2)
new_primCompAux00(x0, EQ)
new_primMulNat0(Zero, Zero)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_compare6(x0, x1, ty_Integer)
new_lt20(x0, x1, ty_@0)
new_ltEs5(Right(x0), Right(x1), x2, ty_Bool)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_ltEs5(Left(x0), Left(x1), ty_Char, x2)
new_esEs28(x0, x1, ty_Char)
new_esEs4(Left(x0), Left(x1), ty_Double, x2)
new_compare19(x0, x1)
new_esEs25(x0, x1, ty_Int)
new_compare8(Float(x0, x1), Float(x2, x3))
new_esEs7(Nothing, Just(x0), x1)
new_esEs16(GT, GT)
new_esEs25(x0, x1, ty_Char)
new_lt13(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_ltEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(Just(x0), Just(x1), ty_Integer)
new_ltEs16(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_lt13(x0, x1, ty_Double)
new_esEs14(@0, @0)
new_ltEs18(x0, x1)
new_compare27(Just(x0), Nothing, False, x1)
new_primMulInt(Neg(x0), Neg(x1))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Float)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs24(x0, x1, ty_Char)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_esEs7(Just(x0), Just(x1), ty_Ordering)
new_ltEs20(x0, x1, ty_Integer)
new_ltEs8(x0, x1, x2)
new_compare12(:%(x0, x1), :%(x2, x3), ty_Integer)
new_lt5(x0, x1, x2)
new_esEs21(x0, x1, ty_Double)
new_esEs22(x0, x1, ty_@0)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs12(Nothing, Just(x0), x1)
new_lt14(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8(:(x0, x1), [], x2)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare16(@0, @0)
new_esEs4(Right(x0), Right(x1), x2, ty_Int)
new_esEs20(x0, x1, ty_@0)
new_pePe(False, x0)
new_ltEs7(x0, x1, ty_Double)
new_compare28(x0, x1, True, x2, x3)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs21(x0, x1, ty_Integer)
new_esEs22(x0, x1, ty_Double)
new_ltEs19(x0, x1, ty_Char)
new_esEs19(x0, x1, ty_Int)
new_compare29(x0, x1, True)
new_compare15(Integer(x0), Integer(x1))
new_compare29(x0, x1, False)
new_ltEs4(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt16(x0, x1, x2, x3, x4)
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpNat2(x0, Zero)
new_compare6(x0, x1, ty_@0)
new_compare113(x0, x1, True, x2, x3)
new_primPlusNat1(Zero, Zero)
new_ltEs9(x0, x1)
new_compare27(x0, x1, True, x2)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_compare6(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs21(x0, x1, ty_Ordering)
new_esEs24(x0, x1, ty_Integer)
new_ltEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(x0, x1, ty_Char)
new_ltEs19(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs28(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_compare0([], :(x0, x1), x2)
new_ltEs19(x0, x1, ty_Bool)
new_ltEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs26(x0, x1, ty_Bool)
new_primCompAux00(x0, LT)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_lt20(x0, x1, ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt10(x0, x1)
new_lt4(x0, x1, x2, x3)
new_lt11(x0, x1, x2)
new_ltEs7(x0, x1, ty_Bool)
new_lt14(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_@0)
new_compare26(x0, x1, True, x2, x3)
new_esEs26(x0, x1, ty_Integer)
new_ltEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_lt15(x0, x1)
new_ltEs7(x0, x1, app(ty_Maybe, x2))
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(Left(x0), Right(x1), x2, x3)
new_ltEs5(Right(x0), Left(x1), x2, x3)
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Ordering)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt14(x0, x1, app(ty_Maybe, x2))
new_compare111(x0, x1, True, x2, x3)
new_ltEs15(False, True)
new_ltEs15(True, False)
new_ltEs17(GT, GT)
new_lt14(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Int)
new_lt14(x0, x1, ty_Bool)
new_esEs25(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_compare110(x0, x1, False, x2, x3, x4)
new_esEs4(Right(x0), Right(x1), x2, ty_Integer)
new_esEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_compare210(x0, x1, True)
new_esEs20(x0, x1, ty_Int)
new_esEs7(Just(x0), Just(x1), ty_Float)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Double)
new_esEs22(x0, x1, ty_Int)
new_ltEs7(x0, x1, ty_Int)
new_ltEs12(Just(x0), Just(x1), ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, ty_Float)
new_lt18(x0, x1)
new_lt13(x0, x1, app(ty_Maybe, x2))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Zero, Succ(x0))
new_esEs15(True, False)
new_esEs15(False, True)
new_esEs7(Just(x0), Just(x1), ty_Int)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, ty_Bool)
new_esEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs4(Right(x0), Right(x1), x2, ty_Char)
new_ltEs7(x0, x1, ty_Char)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt17(x0, x1)
new_asAs(True, x0)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs7(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Char)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs16(LT, LT)
new_compare17(x0, x1)
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_lt13(x0, x1, ty_Integer)
new_esEs7(Just(x0), Just(x1), ty_Char)
new_esEs26(x0, x1, ty_Ordering)
new_esEs18(x0, x1, ty_Integer)
new_sr0(Integer(x0), Integer(x1))
new_esEs28(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_esEs4(Left(x0), Right(x1), x2, x3)
new_esEs4(Right(x0), Left(x1), x2, x3)
new_ltEs10(x0, x1)
new_esEs22(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_Float)
new_lt12(x0, x1, x2, x3)
new_compare10(x0, x1, True)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_ltEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt6(x0, x1)
new_esEs25(x0, x1, app(ty_[], x2))
new_ltEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_lt13(x0, x1, ty_Bool)
new_ltEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs20(x0, x1, ty_Ordering)
new_lt14(x0, x1, ty_Integer)
new_ltEs11(x0, x1, x2)
new_ltEs12(Just(x0), Just(x1), ty_Double)
new_esEs26(x0, x1, app(ty_[], x2))
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_compare6(x0, x1, app(ty_Ratio, x2))
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8([], [], x0)
new_compare112(x0, x1, True, x2)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_asAs(False, x0)
new_compare6(x0, x1, app(ty_Maybe, x2))
new_lt13(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_@0)
new_primPlusNat1(Zero, Succ(x0))
new_compare6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), ty_@0, x2)
new_esEs4(Left(x0), Left(x1), ty_Char, x2)
new_compare6(x0, x1, ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, ty_Integer)
new_esEs7(Just(x0), Just(x1), ty_Integer)
new_ltEs5(Left(x0), Left(x1), ty_Float, x2)
new_compare14(Char(x0), Char(x1))
new_lt13(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs17(LT, GT)
new_ltEs17(GT, LT)
new_ltEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs23(x0, x1, ty_Float)
new_ltEs20(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_[], x2))
new_esEs12(Char(x0), Char(x1))
new_esEs23(x0, x1, ty_Char)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs28(x0, x1, ty_Ordering)
new_esEs4(Right(x0), Right(x1), x2, ty_@0)
new_esEs7(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Char)
new_compare0(:(x0, x1), [], x2)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs27(x0, x1, ty_Int)
new_esEs17(Double(x0, x1), Double(x2, x3))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpNat1(Succ(x0), Zero)
new_ltEs12(Just(x0), Just(x1), ty_Bool)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_compare6(x0, x1, ty_Double)
new_esEs7(Nothing, Nothing, x0)
new_ltEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Double)
new_compare24(x0, x1, False, x2, x3, x4)
new_primCmpNat1(Succ(x0), Succ(x1))
new_primPlusNat1(Succ(x0), Succ(x1))
new_ltEs12(Just(x0), Just(x1), ty_Char)
new_esEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs7(Just(x0), Just(x1), ty_Double)
new_ltEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_compare26(x0, x1, False, x2, x3)
new_ltEs7(x0, x1, ty_Float)
new_not(True)
new_esEs7(Just(x0), Just(x1), ty_Bool)
new_esEs24(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Char)
new_compare6(x0, x1, app(ty_[], x2))
new_esEs16(EQ, LT)
new_esEs16(LT, EQ)
new_compare12(:%(x0, x1), :%(x2, x3), ty_Int)
new_primCmpNat0(Succ(x0), x1)
new_esEs16(EQ, EQ)
new_esEs21(x0, x1, ty_@0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Double)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_ltEs19(x0, x1, ty_Int)
new_not(False)
new_esEs6(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs25(x0, x1, ty_Integer)
new_ltEs12(Just(x0), Just(x1), ty_@0)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Int)
new_esEs23(x0, x1, ty_Ordering)
new_esEs26(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), ty_@0, x2)
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Bool)
new_primMulNat0(Succ(x0), Succ(x1))
new_lt14(x0, x1, ty_@0)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(x0, x1, ty_Float)
new_ltEs13(x0, x1)
new_esEs4(Right(x0), Right(x1), x2, ty_Float)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_lt14(x0, x1, ty_Ordering)
new_compare6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs16(EQ, GT)
new_esEs16(GT, EQ)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt7(x0, x1)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare18(x0, x1, x2, x3)
new_ltEs5(Right(x0), Right(x1), x2, ty_Int)
new_ltEs17(LT, EQ)
new_compare111(x0, x1, False, x2, x3)
new_ltEs17(EQ, LT)
new_esEs7(Just(x0), Nothing, x1)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_lt14(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Integer)
new_esEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs23(x0, x1, ty_Int)
new_compare112(x0, x1, False, x2)
new_esEs26(x0, x1, ty_@0)
new_ltEs5(Left(x0), Left(x1), ty_Int, x2)
new_esEs7(Just(x0), Just(x1), ty_@0)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs12(Nothing, Nothing, x0)
new_ltEs6(x0, x1)
new_ltEs12(Just(x0), Just(x1), ty_Int)
new_esEs19(x0, x1, ty_Integer)
new_compare0([], [], x0)
new_esEs24(x0, x1, ty_Double)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_lt14(x0, x1, ty_Double)
new_ltEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs23(x0, x1, ty_Bool)
new_esEs8([], :(x0, x1), x2)
new_ltEs19(x0, x1, ty_Integer)
new_primPlusNat0(Zero, x0)
new_primEqNat0(Zero, Succ(x0))
new_esEs25(x0, x1, ty_Double)
new_esEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs5(Left(x0), Left(x1), ty_Double, x2)
new_primCmpNat2(x0, Succ(x1))
new_esEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs11(:%(x0, x1), :%(x2, x3), x4)
new_esEs22(x0, x1, ty_Integer)
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_lt13(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_lt13(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare11(x0, x1, False)
new_esEs20(x0, x1, ty_Char)
new_ltEs17(EQ, EQ)
new_esEs22(x0, x1, ty_Char)
new_ltEs17(LT, LT)
new_esEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Bool)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_compare11(x0, x1, True)
new_esEs7(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Bool)
new_lt13(x0, x1, ty_Ordering)
new_esEs20(x0, x1, app(ty_Ratio, x2))

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ DependencyGraphProof
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_splitLT12(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, True, bb, bc) → new_splitLT0(ywz22, ywz23, bb, bc)
new_splitLT2(ywz400, ywz41, ywz42, Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz44, True, h, ba) → new_splitLT3(ywz430, ywz431, ywz432, ywz433, ywz434, Nothing, h, ba)
new_splitLT1(ywz41, ywz42, ywz43, ywz44, True, h, ba) → new_splitLT(ywz44, h, ba)
new_splitLT20(ywz41, ywz42, ywz43, ywz44, ywz500, False, h, ba) → new_splitLT11(ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs16(new_compare13(Just(ywz500), Nothing, h), GT), h, ba)
new_splitLT20(ywz41, ywz42, Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz44, ywz500, True, h, ba) → new_splitLT3(ywz430, ywz431, ywz432, ywz433, ywz434, Just(ywz500), h, ba)
new_splitLT2(ywz400, ywz41, ywz42, ywz43, ywz44, False, h, ba) → new_splitLT10(ywz400, ywz41, ywz42, ywz43, ywz44, new_esEs16(new_compare13(Nothing, Just(ywz400), h), GT), h, ba)
new_splitLT3(Nothing, ywz41, ywz42, ywz43, ywz44, Just(ywz500), h, ba) → new_splitLT20(ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs16(new_compare27(Just(ywz500), Nothing, False, h), LT), h, ba)
new_splitLT21(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, True, bb, bc) → new_splitLT0(ywz21, ywz23, bb, bc)
new_splitLT(Branch(ywz430, ywz431, ywz432, ywz433, ywz434), h, ba) → new_splitLT3(ywz430, ywz431, ywz432, ywz433, ywz434, Nothing, h, ba)
new_splitLT3(Just(ywz400), ywz41, ywz42, ywz43, ywz44, Nothing, h, ba) → new_splitLT2(ywz400, ywz41, ywz42, ywz43, ywz44, new_esEs16(new_compare27(Nothing, Just(ywz400), False, h), LT), h, ba)
new_splitLT21(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, False, bb, bc) → new_splitLT12(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, new_esEs16(new_compare13(Just(ywz23), Just(ywz18), bb), GT), bb, bc)
new_splitLT3(Nothing, ywz41, ywz42, ywz43, ywz44, Nothing, h, ba) → new_splitLT1(ywz41, ywz42, ywz43, ywz44, new_esEs16(new_compare13(Nothing, Nothing, h), GT), h, ba)
new_splitLT3(Just(ywz400), ywz41, ywz42, ywz43, ywz44, Just(ywz500), h, ba) → new_splitLT21(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs16(new_compare27(Just(ywz500), Just(ywz400), new_esEs30(ywz500, ywz400, h), h), LT), h, ba)
new_splitLT0(Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz500, h, ba) → new_splitLT3(ywz430, ywz431, ywz432, ywz433, ywz434, Just(ywz500), h, ba)
new_splitLT10(ywz400, ywz41, ywz42, ywz43, ywz44, True, h, ba) → new_splitLT(ywz44, h, ba)
new_splitLT11(ywz41, ywz42, ywz43, ywz44, ywz500, True, h, ba) → new_splitLT0(ywz44, ywz500, h, ba)

The TRS R consists of the following rules:

new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(ty_@2, hc), hd), fb) → new_ltEs16(ywz5000, ywz4000, hc, hd)
new_esEs26(ywz5000, ywz4000, app(ty_[], bdg)) → new_esEs8(ywz5000, ywz4000, bdg)
new_esEs23(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs22(ywz5002, ywz4002, ty_Double) → new_esEs17(ywz5002, ywz4002)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_Maybe, cd)) → new_esEs7(ywz5000, ywz4000, cd)
new_ltEs7(ywz500, ywz400, app(ty_Ratio, ef)) → new_ltEs11(ywz500, ywz400, ef)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_esEs7(ywz5000, ywz4000, bba)
new_compare112(ywz95, ywz96, True, bdf) → LT
new_ltEs19(ywz5002, ywz4002, app(ty_[], bcd)) → new_ltEs8(ywz5002, ywz4002, bcd)
new_compare6(ywz5000, ywz4000, ty_Double) → new_compare25(ywz5000, ywz4000)
new_esEs16(EQ, GT) → False
new_esEs16(GT, EQ) → False
new_ltEs19(ywz5002, ywz4002, app(ty_Ratio, bcg)) → new_ltEs11(ywz5002, ywz4002, bcg)
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, bcb), bcc)) → new_esEs6(ywz5001, ywz4001, bcb, bcc)
new_ltEs20(ywz5001, ywz4001, ty_Int) → new_ltEs9(ywz5001, ywz4001)
new_ltEs15(True, False) → False
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs17(LT, LT) → True
new_esEs25(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(app(app(ty_@3, bbg), bbh), bca)) → new_esEs5(ywz5001, ywz4001, bbg, bbh, bca)
new_compare6(ywz5000, ywz4000, app(app(ty_@2, ed), ee)) → new_compare18(ywz5000, ywz4000, ed, ee)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Int) → new_ltEs9(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_[], dd)) → new_compare0(ywz5000, ywz4000, dd)
new_ltEs7(ywz500, ywz400, app(ty_[], dc)) → new_ltEs8(ywz500, ywz400, dc)
new_lt20(ywz5000, ywz4000, ty_Int) → new_lt10(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, ty_Integer) → new_compare15(ywz5000, ywz4000)
new_primCmpNat1(Zero, Succ(ywz400000)) → LT
new_lt14(ywz5000, ywz4000, app(app(ty_@2, ga), gb)) → new_lt4(ywz5000, ywz4000, ga, gb)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, ty_Integer) → new_esEs13(ywz500, ywz400)
new_lt19(ywz5000, ywz4000) → new_esEs16(new_compare25(ywz5000, ywz4000), LT)
new_esEs26(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_[], bh)) → new_esEs8(ywz5000, ywz4000, bh)
new_compare27(Just(ywz500), Just(ywz400), False, h) → new_compare112(ywz500, ywz400, new_ltEs7(ywz500, ywz400, h), h)
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_esEs7(ywz5000, ywz4000, bec)
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, app(app(ty_Either, eg), eh)) → new_lt12(ywz5000, ywz4000, eg, eh)
new_esEs22(ywz5002, ywz4002, ty_Char) → new_esEs12(ywz5002, ywz4002)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Double) → new_ltEs18(ywz5000, ywz4000)
new_ltEs10(ywz500, ywz400) → new_not(new_esEs16(new_compare8(ywz500, ywz400), GT))
new_ltEs12(Nothing, Nothing, bg) → True
new_primMulNat0(Zero, Zero) → Zero
new_esEs24(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs8(:(ywz5000, ywz5001), :(ywz4000, ywz4001), dc) → new_asAs(new_esEs25(ywz5000, ywz4000, dc), new_esEs8(ywz5001, ywz4001, dc))
new_lt13(ywz5001, ywz4001, ty_@0) → new_lt7(ywz5001, ywz4001)
new_lt20(ywz5000, ywz4000, ty_@0) → new_lt7(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Int, fb) → new_ltEs9(ywz5000, ywz4000)
new_compare29(ywz5000, ywz4000, True) → EQ
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(ty_[], he)) → new_esEs8(ywz5000, ywz4000, he)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs5(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), fc, fd, ff) → new_asAs(new_esEs20(ywz5000, ywz4000, fc), new_asAs(new_esEs21(ywz5001, ywz4001, fd), new_esEs22(ywz5002, ywz4002, ff)))
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(ty_[], he)) → new_ltEs8(ywz5000, ywz4000, he)
new_lt20(ywz5000, ywz4000, ty_Float) → new_lt6(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_Char) → new_ltEs6(ywz500, ywz400)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Integer) → new_ltEs13(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Float) → new_ltEs10(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(ty_Either, bdh), bea)) → new_lt12(ywz5000, ywz4000, bdh, bea)
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs30(ywz500, ywz400, ty_Double) → new_esEs17(ywz500, ywz400)
new_esEs30(ywz500, ywz400, app(ty_Ratio, ef)) → new_esEs11(ywz500, ywz400, ef)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_compare16(@0, @0) → EQ
new_compare29(ywz5000, ywz4000, False) → new_compare11(ywz5000, ywz4000, new_ltEs17(ywz5000, ywz4000))
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_Ratio, cc)) → new_esEs11(ywz5000, ywz4000, cc)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, eg), eh)) → new_esEs4(ywz5000, ywz4000, eg, eh)
new_esEs30(ywz500, ywz400, ty_Int) → new_esEs9(ywz500, ywz400)
new_esEs19(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(ty_@2, hc), hd), fb) → new_esEs6(ywz5000, ywz4000, hc, hd)
new_compare9(ywz5000, ywz4000, eg, eh) → new_compare26(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, eg, eh), eg, eh)
new_ltEs5(Left(ywz5000), Right(ywz4000), fa, fb) → True
new_lt14(ywz5000, ywz4000, ty_Int) → new_lt10(ywz5000, ywz4000)
new_compare0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), dc) → new_primCompAux0(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, dc), dc)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(ty_@2, da), db)) → new_esEs6(ywz5000, ywz4000, da, db)
new_ltEs7(ywz500, ywz400, ty_Double) → new_ltEs18(ywz500, ywz400)
new_primCmpNat1(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat1(ywz500000, ywz400000)
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(app(ty_Either, hf), hg)) → new_ltEs5(ywz5000, ywz4000, hf, hg)
new_lt14(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_lt5(ywz5000, ywz4000, bba)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Float, fb) → new_ltEs10(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, app(ty_Maybe, bch)) → new_ltEs12(ywz5002, ywz4002, bch)
new_ltEs13(ywz500, ywz400) → new_not(new_esEs16(new_compare15(ywz500, ywz400), GT))
new_compare6(ywz5000, ywz4000, ty_@0) → new_compare16(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, ga), gb)) → new_esEs6(ywz5000, ywz4000, ga, gb)
new_esEs28(ywz5001, ywz4001, app(app(app(ty_@3, bff), bfg), bfh)) → new_esEs5(ywz5001, ywz4001, bff, bfg, bfh)
new_esEs22(ywz5002, ywz4002, app(ty_[], bcd)) → new_esEs8(ywz5002, ywz4002, bcd)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_ltEs9(ywz500, ywz400) → new_not(new_esEs16(new_compare7(ywz500, ywz400), GT))
new_ltEs5(Right(ywz5000), Left(ywz4000), fa, fb) → False
new_ltEs19(ywz5002, ywz4002, ty_Char) → new_ltEs6(ywz5002, ywz4002)
new_ltEs17(EQ, LT) → False
new_pePe(False, ywz175) → ywz175
new_esEs27(ywz5000, ywz4000, app(ty_[], bdg)) → new_esEs8(ywz5000, ywz4000, bdg)
new_esEs25(ywz5000, ywz4000, app(app(ty_Either, de), df)) → new_esEs4(ywz5000, ywz4000, de, df)
new_esEs15(True, False) → False
new_esEs15(False, True) → False
new_ltEs15(True, True) → True
new_ltEs19(ywz5002, ywz4002, ty_Float) → new_ltEs10(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, app(app(ty_Either, bce), bcf)) → new_esEs4(ywz5002, ywz4002, bce, bcf)
new_compare6(ywz5000, ywz4000, ty_Bool) → new_compare17(ywz5000, ywz4000)
new_ltEs15(False, True) → True
new_esEs26(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(ty_Maybe, bbf)) → new_esEs7(ywz5001, ywz4001, bbf)
new_esEs30(ywz500, ywz400, ty_Bool) → new_esEs15(ywz500, ywz400)
new_lt13(ywz5001, ywz4001, ty_Integer) → new_lt8(ywz5001, ywz4001)
new_esEs23(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_esEs7(ywz5000, ywz4000, bba)
new_esEs10(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs9(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Integer, fb) → new_ltEs13(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_Ratio, cc)) → new_ltEs11(ywz5000, ywz4000, cc)
new_ltEs15(False, False) → True
new_esEs26(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_lt17(ywz5000, ywz4000) → new_esEs16(new_compare17(ywz5000, ywz4000), LT)
new_compare27(Nothing, Just(ywz400), False, h) → LT
new_esEs20(ywz5000, ywz4000, app(ty_[], bag)) → new_esEs8(ywz5000, ywz4000, bag)
new_esEs25(ywz5000, ywz4000, app(app(ty_@2, ed), ee)) → new_esEs6(ywz5000, ywz4000, ed, ee)
new_compare14(Char(ywz5000), Char(ywz4000)) → new_primCmpNat1(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Char, fb) → new_ltEs6(ywz5000, ywz4000)
new_compare18(ywz5000, ywz4000, ga, gb) → new_compare28(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, ga, gb), ga, gb)
new_esEs25(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Char, fb) → new_esEs12(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, app(app(app(ty_@3, bda), bdb), bdc)) → new_ltEs4(ywz5002, ywz4002, bda, bdb, bdc)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(ty_@2, da), db)) → new_ltEs16(ywz5000, ywz4000, da, db)
new_lt14(ywz5000, ywz4000, ty_Char) → new_lt15(ywz5000, ywz4000)
new_lt5(ywz50, ywz40, h) → new_esEs16(new_compare13(ywz50, ywz40, h), LT)
new_esEs30(ywz500, ywz400, ty_Float) → new_esEs10(ywz500, ywz400)
new_esEs28(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, app(app(ty_@2, bcb), bcc)) → new_esEs6(ywz5001, ywz4001, bcb, bcc)
new_compare0([], [], dc) → EQ
new_pePe(True, ywz175) → True
new_primEqNat0(Zero, Zero) → True
new_esEs19(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs14(@0, @0) → True
new_compare111(ywz5000, ywz4000, False, eg, eh) → GT
new_esEs28(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_compare17(ywz5000, ywz4000) → new_compare210(ywz5000, ywz4000, new_esEs15(ywz5000, ywz4000))
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_[], bh)) → new_ltEs8(ywz5000, ywz4000, bh)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_@0) → new_ltEs14(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_@0, fb) → new_ltEs14(ywz5000, ywz4000)
new_esEs16(LT, GT) → False
new_esEs16(GT, LT) → False
new_lt20(ywz5000, ywz4000, app(ty_[], bdg)) → new_lt9(ywz5000, ywz4000, bdg)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_ltEs17(GT, LT) → False
new_sr(ywz5001, ywz4001) → new_primMulInt(ywz5001, ywz4001)
new_compare7(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_primCmpNat1(Zero, Zero) → EQ
new_esEs30(ywz500, ywz400, ty_Char) → new_esEs12(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, ty_Integer) → new_ltEs13(ywz500, ywz400)
new_esEs24(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Int, fb) → new_esEs9(ywz5000, ywz4000)
new_ltEs20(ywz5001, ywz4001, app(ty_Ratio, bfd)) → new_ltEs11(ywz5001, ywz4001, bfd)
new_primPlusNat0(Succ(ywz1950), ywz400100) → Succ(Succ(new_primPlusNat1(ywz1950, ywz400100)))
new_ltEs11(ywz500, ywz400, ef) → new_not(new_esEs16(new_compare12(ywz500, ywz400, ef), GT))
new_ltEs19(ywz5002, ywz4002, ty_Bool) → new_ltEs15(ywz5002, ywz4002)
new_lt14(ywz5000, ywz4000, app(ty_Ratio, bah)) → new_lt11(ywz5000, ywz4000, bah)
new_esEs28(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs13(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_primCmpNat1(Succ(ywz500000), Zero) → GT
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(app(ty_Either, hf), hg)) → new_esEs4(ywz5000, ywz4000, hf, hg)
new_compare24(ywz5000, ywz4000, True, bd, be, bf) → EQ
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Ordering, fb) → new_ltEs17(ywz5000, ywz4000)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_ltEs20(ywz5001, ywz4001, app(app(app(ty_@3, bff), bfg), bfh)) → new_ltEs4(ywz5001, ywz4001, bff, bfg, bfh)
new_esEs24(ywz5001, ywz4001, app(ty_Ratio, bbe)) → new_esEs11(ywz5001, ywz4001, bbe)
new_lt20(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_lt11(ywz5000, ywz4000, beb)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs15(True, True) → True
new_compare113(ywz5000, ywz4000, True, ga, gb) → LT
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(ty_Either, gd), ge), fb) → new_esEs4(ywz5000, ywz4000, gd, ge)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, gh), ha), hb), fb) → new_esEs5(ywz5000, ywz4000, gh, ha, hb)
new_primCompAux0(ywz5000, ywz4000, ywz228, dc) → new_primCompAux00(ywz228, new_compare6(ywz5000, ywz4000, dc))
new_ltEs17(LT, GT) → True
new_primPlusNat1(Succ(ywz19500), Zero) → Succ(ywz19500)
new_primPlusNat1(Zero, Succ(ywz4001000)) → Succ(ywz4001000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Ordering) → new_ltEs17(ywz5000, ywz4000)
new_compare27(Just(ywz500), Nothing, False, h) → GT
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Float) → new_ltEs10(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_@0) → new_ltEs14(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_Ratio, dg)) → new_compare12(ywz5000, ywz4000, dg)
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, app(ty_[], bfa)) → new_esEs8(ywz5001, ywz4001, bfa)
new_lt13(ywz5001, ywz4001, ty_Float) → new_lt6(ywz5001, ywz4001)
new_compare27(Nothing, Nothing, False, h) → LT
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_lt18(ywz5000, ywz4000) → new_esEs16(new_compare19(ywz5000, ywz4000), LT)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_Ratio, gf), fb) → new_esEs11(ywz5000, ywz4000, gf)
new_compare6(ywz5000, ywz4000, ty_Char) → new_compare14(ywz5000, ywz4000)
new_primCmpNat0(Succ(ywz40000), ywz50000) → new_primCmpNat1(ywz40000, ywz50000)
new_esEs8([], [], dc) → True
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_lt20(ywz5000, ywz4000, ty_Integer) → new_lt8(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, ty_Ordering) → new_lt18(ywz5000, ywz4000)
new_compare26(ywz5000, ywz4000, True, eg, eh) → EQ
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Char) → new_ltEs6(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bbc), bbd)) → new_esEs4(ywz5001, ywz4001, bbc, bbd)
new_esEs22(ywz5002, ywz4002, app(app(app(ty_@3, bda), bdb), bdc)) → new_esEs5(ywz5002, ywz4002, bda, bdb, bdc)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_lt5(ywz5000, ywz4000, bec)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_ltEs17(EQ, EQ) → True
new_ltEs20(ywz5001, ywz4001, app(ty_[], bfa)) → new_ltEs8(ywz5001, ywz4001, bfa)
new_ltEs19(ywz5002, ywz4002, ty_Ordering) → new_ltEs17(ywz5002, ywz4002)
new_compare12(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare7(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_lt13(ywz5001, ywz4001, ty_Char) → new_lt15(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_Maybe, gg), fb) → new_ltEs12(ywz5000, ywz4000, gg)
new_esEs23(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_@0) → new_ltEs14(ywz500, ywz400)
new_ltEs8(ywz500, ywz400, dc) → new_not(new_esEs16(new_compare0(ywz500, ywz400, dc), GT))
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(ty_Either, gd), ge), fb) → new_ltEs5(ywz5000, ywz4000, gd, ge)
new_compare19(ywz5000, ywz4000) → new_compare29(ywz5000, ywz4000, new_esEs16(ywz5000, ywz4000))
new_lt15(ywz5000, ywz4000) → new_esEs16(new_compare14(ywz5000, ywz4000), LT)
new_esEs25(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(ty_[], dd)) → new_esEs8(ywz5000, ywz4000, dd)
new_lt9(ywz5000, ywz4000, bag) → new_esEs16(new_compare0(ywz5000, ywz4000, bag), LT)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_Ratio, gf), fb) → new_ltEs11(ywz5000, ywz4000, gf)
new_lt14(ywz5000, ywz4000, ty_Double) → new_lt19(ywz5000, ywz4000)
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_lt14(ywz5000, ywz4000, app(app(app(ty_@3, bd), be), bf)) → new_lt16(ywz5000, ywz4000, bd, be, bf)
new_esEs23(ywz5000, ywz4000, app(ty_[], bag)) → new_esEs8(ywz5000, ywz4000, bag)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Ordering, fb) → new_esEs16(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, app(app(ty_@2, fg), fh)) → new_ltEs16(ywz500, ywz400, fg, fh)
new_ltEs7(ywz500, ywz400, ty_Float) → new_ltEs10(ywz500, ywz400)
new_compare113(ywz5000, ywz4000, False, ga, gb) → GT
new_lt14(ywz5000, ywz4000, ty_Float) → new_lt6(ywz5000, ywz4000)
new_ltEs4(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), fc, fd, ff) → new_pePe(new_lt14(ywz5000, ywz4000, fc), new_asAs(new_esEs23(ywz5000, ywz4000, fc), new_pePe(new_lt13(ywz5001, ywz4001, fd), new_asAs(new_esEs24(ywz5001, ywz4001, fd), new_ltEs19(ywz5002, ywz4002, ff)))))
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_ltEs17(ywz5000, ywz4000)
new_primCompAux00(ywz280, LT) → LT
new_esEs23(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_esEs5(ywz5000, ywz4000, bed, bee, bef)
new_esEs7(Nothing, Nothing, bg) → True
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_esEs22(ywz5002, ywz4002, ty_Integer) → new_esEs13(ywz5002, ywz4002)
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, app(ty_Maybe, bfe)) → new_ltEs12(ywz5001, ywz4001, bfe)
new_ltEs20(ywz5001, ywz4001, ty_Integer) → new_ltEs13(ywz5001, ywz4001)
new_compare5(ywz5000, ywz4000, bd, be, bf) → new_compare24(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bd, be, bf), bd, be, bf)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Double, fb) → new_esEs17(ywz5000, ywz4000)
new_compare8(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare7(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs17(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs9(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(app(app(ty_@3, bab), bac), bad)) → new_esEs5(ywz5000, ywz4000, bab, bac, bad)
new_lt20(ywz5000, ywz4000, app(app(ty_@2, beg), beh)) → new_lt4(ywz5000, ywz4000, beg, beh)
new_lt12(ywz5000, ywz4000, eg, eh) → new_esEs16(new_compare9(ywz5000, ywz4000, eg, eh), LT)
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_ltEs20(ywz5001, ywz4001, ty_@0) → new_ltEs14(ywz5001, ywz4001)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(app(app(ty_@3, bab), bac), bad)) → new_ltEs4(ywz5000, ywz4000, bab, bac, bad)
new_sr0(Integer(ywz40000), Integer(ywz50010)) → Integer(new_primMulInt(ywz40000, ywz50010))
new_primPlusNat1(Succ(ywz19500), Succ(ywz4001000)) → Succ(Succ(new_primPlusNat1(ywz19500, ywz4001000)))
new_lt13(ywz5001, ywz4001, app(ty_Maybe, bbf)) → new_lt5(ywz5001, ywz4001, bbf)
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_compare28(ywz5000, ywz4000, True, ga, gb) → EQ
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_Maybe, cd)) → new_ltEs12(ywz5000, ywz4000, cd)
new_esEs7(Just(ywz5000), Nothing, bg) → False
new_esEs7(Nothing, Just(ywz4000), bg) → False
new_esEs25(ywz5000, ywz4000, app(ty_Ratio, dg)) → new_esEs11(ywz5000, ywz4000, dg)
new_compare6(ywz5000, ywz4000, app(app(ty_Either, de), df)) → new_compare9(ywz5000, ywz4000, de, df)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, ce), cf), cg)) → new_ltEs4(ywz5000, ywz4000, ce, cf, cg)
new_ltEs20(ywz5001, ywz4001, ty_Double) → new_ltEs18(ywz5001, ywz4001)
new_esEs25(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs22(ywz5002, ywz4002, app(app(ty_@2, bdd), bde)) → new_esEs6(ywz5002, ywz4002, bdd, bde)
new_esEs26(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_esEs11(ywz5000, ywz4000, beb)
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primCompAux00(ywz280, EQ) → ywz280
new_esEs23(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_lt11(ywz5000, ywz4000, bah) → new_esEs16(new_compare12(ywz5000, ywz4000, bah), LT)
new_esEs25(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_primCmpNat0(Zero, ywz50000) → LT
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, ty_Double) → new_ltEs18(ywz5002, ywz4002)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, app(ty_[], bbb)) → new_lt9(ywz5001, ywz4001, bbb)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Bool) → new_ltEs15(ywz5000, ywz4000)
new_ltEs14(ywz500, ywz400) → new_not(new_esEs16(new_compare16(ywz500, ywz400), GT))
new_compare6(ywz5000, ywz4000, ty_Float) → new_compare8(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(ty_Ratio, hh)) → new_ltEs11(ywz5000, ywz4000, hh)
new_ltEs6(ywz500, ywz400) → new_not(new_esEs16(new_compare14(ywz500, ywz400), GT))
new_esEs12(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, app(app(ty_Either, bbc), bbd)) → new_lt12(ywz5001, ywz4001, bbc, bbd)
new_not(False) → True
new_esEs30(ywz500, ywz400, ty_@0) → new_esEs14(ywz500, ywz400)
new_esEs23(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs18(ywz500, ywz400) → new_not(new_esEs16(new_compare25(ywz500, ywz400), GT))
new_primPlusNat0(Zero, ywz400100) → Succ(ywz400100)
new_esEs23(ywz5000, ywz4000, app(app(ty_@2, ga), gb)) → new_esEs6(ywz5000, ywz4000, ga, gb)
new_compare210(ywz5000, ywz4000, False) → new_compare10(ywz5000, ywz4000, new_ltEs15(ywz5000, ywz4000))
new_esEs30(ywz500, ywz400, app(app(ty_Either, fa), fb)) → new_esEs4(ywz500, ywz400, fa, fb)
new_esEs11(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ef) → new_asAs(new_esEs18(ywz5000, ywz4000, ef), new_esEs19(ywz5001, ywz4001, ef))
new_esEs16(LT, EQ) → False
new_esEs16(EQ, LT) → False
new_esEs25(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(ty_[], bbb)) → new_esEs8(ywz5001, ywz4001, bbb)
new_compare25(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare7(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Double) → new_ltEs18(ywz5000, ywz4000)
new_compare0(:(ywz5000, ywz5001), [], dc) → GT
new_ltEs16(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), fg, fh) → new_pePe(new_lt20(ywz5000, ywz4000, fg), new_asAs(new_esEs26(ywz5000, ywz4000, fg), new_ltEs20(ywz5001, ywz4001, fh)))
new_esEs23(ywz5000, ywz4000, app(ty_Ratio, bah)) → new_esEs11(ywz5000, ywz4000, bah)
new_lt20(ywz5000, ywz4000, ty_Ordering) → new_lt18(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_Bool) → new_ltEs15(ywz500, ywz400)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(app(ty_@2, bae), baf)) → new_esEs6(ywz5000, ywz4000, bae, baf)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_[], gc), fb) → new_esEs8(ywz5000, ywz4000, gc)
new_lt13(ywz5001, ywz4001, ty_Ordering) → new_lt18(ywz5001, ywz4001)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, bah)) → new_esEs11(ywz5000, ywz4000, bah)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, bd), be), bf)) → new_esEs5(ywz5000, ywz4000, bd, be, bf)
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_ltEs19(ywz5002, ywz4002, ty_Int) → new_ltEs9(ywz5002, ywz4002)
new_esEs28(ywz5001, ywz4001, app(ty_Maybe, bfe)) → new_esEs7(ywz5001, ywz4001, bfe)
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bbg), bbh), bca)) → new_esEs5(ywz5001, ywz4001, bbg, bbh, bca)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat0(Zero, ywz40000)
new_ltEs7(ywz500, ywz400, app(app(ty_Either, fa), fb)) → new_ltEs5(ywz500, ywz400, fa, fb)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bbf)) → new_esEs7(ywz5001, ywz4001, bbf)
new_primMulInt(Pos(ywz50010), Pos(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Bool, fb) → new_esEs15(ywz5000, ywz4000)
new_esEs18(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, app(app(ty_Either, eg), eh)) → new_esEs4(ywz5000, ywz4000, eg, eh)
new_lt7(ywz5000, ywz4000) → new_esEs16(new_compare16(ywz5000, ywz4000), LT)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_Maybe, gg), fb) → new_esEs7(ywz5000, ywz4000, gg)
new_compare13(ywz50, ywz40, h) → new_compare27(ywz50, ywz40, new_esEs7(ywz50, ywz40, h), h)
new_primMulInt(Neg(ywz50010), Neg(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, beg), beh)) → new_esEs6(ywz5000, ywz4000, beg, beh)
new_esEs16(EQ, EQ) → True
new_esEs24(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_esEs26(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, app(app(ty_Either, bce), bcf)) → new_ltEs5(ywz5002, ywz4002, bce, bcf)
new_esEs30(ywz500, ywz400, app(ty_Maybe, bg)) → new_esEs7(ywz500, ywz400, bg)
new_primEqNat0(Succ(ywz50000), Zero) → False
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, app(ty_Ratio, bbe)) → new_lt11(ywz5001, ywz4001, bbe)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs7(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(app(ty_Either, bbc), bbd)) → new_esEs4(ywz5001, ywz4001, bbc, bbd)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, bdh), bea)) → new_esEs4(ywz5000, ywz4000, bdh, bea)
new_compare210(ywz5000, ywz4000, True) → EQ
new_esEs22(ywz5002, ywz4002, ty_Int) → new_esEs9(ywz5002, ywz4002)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Float, fb) → new_esEs10(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Bool, fb) → new_ltEs15(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, ty_Integer) → new_lt8(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat2(ywz40000, Zero)
new_lt14(ywz5000, ywz4000, app(ty_[], bag)) → new_lt9(ywz5000, ywz4000, bag)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Char) → new_ltEs6(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, ty_Double) → new_lt19(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_compare12(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare15(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_[], gc), fb) → new_ltEs8(ywz5000, ywz4000, gc)
new_compare6(ywz5000, ywz4000, app(app(app(ty_@3, ea), eb), ec)) → new_compare5(ywz5000, ywz4000, ea, eb, ec)
new_compare6(ywz5000, ywz4000, ty_Ordering) → new_compare19(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, app(app(ty_@2, bcb), bcc)) → new_lt4(ywz5001, ywz4001, bcb, bcc)
new_esEs26(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs28(ywz5001, ywz4001, app(app(ty_@2, bga), bgb)) → new_esEs6(ywz5001, ywz4001, bga, bgb)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(ty_Either, ca), cb)) → new_ltEs5(ywz5000, ywz4000, ca, cb)
new_lt14(ywz5000, ywz4000, ty_Bool) → new_lt17(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(ty_Maybe, dh)) → new_esEs7(ywz5000, ywz4000, dh)
new_lt10(ywz5000, ywz4000) → new_esEs16(new_compare7(ywz5000, ywz4000), LT)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, ce), cf), cg)) → new_esEs5(ywz5000, ywz4000, ce, cf, cg)
new_ltEs20(ywz5001, ywz4001, ty_Ordering) → new_ltEs17(ywz5001, ywz4001)
new_esEs25(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Integer, fb) → new_esEs13(ywz5000, ywz4000)
new_primCmpNat2(ywz50000, Succ(ywz40000)) → new_primCmpNat1(ywz50000, ywz40000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Double, fb) → new_ltEs18(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_ltEs7(ywz500, ywz400, ty_Int) → new_ltEs9(ywz500, ywz400)
new_esEs30(ywz500, ywz400, ty_Ordering) → new_esEs16(ywz500, ywz400)
new_lt13(ywz5001, ywz4001, ty_Int) → new_lt10(ywz5001, ywz4001)
new_esEs16(LT, LT) → True
new_asAs(False, ywz102) → False
new_lt20(ywz5000, ywz4000, ty_Double) → new_lt19(ywz5000, ywz4000)
new_primMulInt(Neg(ywz50010), Pos(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Pos(ywz50010), Neg(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulNat0(Succ(ywz500100), Zero) → Zero
new_primMulNat0(Zero, Succ(ywz400100)) → Zero
new_ltEs20(ywz5001, ywz4001, ty_Bool) → new_ltEs15(ywz5001, ywz4001)
new_esEs26(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs22(ywz5002, ywz4002, ty_Ordering) → new_esEs16(ywz5002, ywz4002)
new_esEs16(GT, GT) → True
new_primCmpNat2(ywz50000, Zero) → GT
new_esEs24(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_esEs23(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_esEs7(ywz5000, ywz4000, bec)
new_lt8(ywz5000, ywz4000) → new_esEs16(new_compare15(ywz5000, ywz4000), LT)
new_compare110(ywz5000, ywz4000, True, bd, be, bf) → LT
new_esEs25(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs28(ywz5001, ywz4001, app(app(ty_Either, bfb), bfc)) → new_esEs4(ywz5001, ywz4001, bfb, bfc)
new_esEs23(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(ty_Maybe, baa)) → new_esEs7(ywz5000, ywz4000, baa)
new_esEs21(ywz5001, ywz4001, app(ty_[], bbb)) → new_esEs8(ywz5001, ywz4001, bbb)
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_compare26(ywz5000, ywz4000, False, eg, eh) → new_compare111(ywz5000, ywz4000, new_ltEs5(ywz5000, ywz4000, eg, eh), eg, eh)
new_esEs28(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_ltEs12(Nothing, Just(ywz4000), bg) → True
new_esEs30(ywz500, ywz400, app(ty_[], dc)) → new_esEs8(ywz500, ywz400, dc)
new_ltEs17(GT, GT) → True
new_ltEs19(ywz5002, ywz4002, ty_@0) → new_ltEs14(ywz5002, ywz4002)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(ty_Either, ca), cb)) → new_esEs4(ywz5000, ywz4000, ca, cb)
new_esEs24(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_ltEs17(GT, EQ) → False
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(ty_Ratio, hh)) → new_esEs11(ywz5000, ywz4000, hh)
new_esEs22(ywz5002, ywz4002, ty_Bool) → new_esEs15(ywz5002, ywz4002)
new_lt13(ywz5001, ywz4001, app(app(app(ty_@3, bbg), bbh), bca)) → new_lt16(ywz5001, ywz4001, bbg, bbh, bca)
new_esEs28(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_lt20(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_lt16(ywz5000, ywz4000, bed, bee, bef)
new_esEs18(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Float) → new_ltEs10(ywz5001, ywz4001)
new_lt16(ywz5000, ywz4000, bd, be, bf) → new_esEs16(new_compare5(ywz5000, ywz4000, bd, be, bf), LT)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs10(ywz5000, ywz4000)
new_compare11(ywz5000, ywz4000, False) → GT
new_esEs30(ywz500, ywz400, app(app(ty_@2, fg), fh)) → new_esEs6(ywz500, ywz400, fg, fh)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Bool) → new_ltEs15(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_Ordering) → new_ltEs17(ywz500, ywz400)
new_compare11(ywz5000, ywz4000, True) → LT
new_esEs22(ywz5002, ywz4002, ty_@0) → new_esEs14(ywz5002, ywz4002)
new_esEs25(ywz5000, ywz4000, app(app(app(ty_@3, ea), eb), ec)) → new_esEs5(ywz5000, ywz4000, ea, eb, ec)
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat0(ywz4000, ywz50000)
new_compare28(ywz5000, ywz4000, False, ga, gb) → new_compare113(ywz5000, ywz4000, new_ltEs16(ywz5000, ywz4000, ga, gb), ga, gb)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(app(ty_@2, bae), baf)) → new_ltEs16(ywz5000, ywz4000, bae, baf)
new_lt13(ywz5001, ywz4001, ty_Bool) → new_lt17(ywz5001, ywz4001)
new_lt6(ywz5000, ywz4000) → new_esEs16(new_compare8(ywz5000, ywz4000), LT)
new_esEs28(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_compare112(ywz95, ywz96, False, bdf) → GT
new_compare27(ywz50, ywz40, True, h) → EQ
new_esEs22(ywz5002, ywz4002, ty_Float) → new_esEs10(ywz5002, ywz4002)
new_lt14(ywz5000, ywz4000, ty_@0) → new_lt7(ywz5000, ywz4000)
new_esEs28(ywz5001, ywz4001, app(ty_Ratio, bfd)) → new_esEs11(ywz5001, ywz4001, bfd)
new_esEs26(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_esEs11(ywz5000, ywz4000, beb)
new_esEs28(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Char) → new_ltEs6(ywz5001, ywz4001)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_compare15(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, ty_Int) → new_compare7(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(ty_Maybe, baa)) → new_ltEs12(ywz5000, ywz4000, baa)
new_compare0([], :(ywz4000, ywz4001), dc) → LT
new_compare111(ywz5000, ywz4000, True, eg, eh) → LT
new_primPlusNat1(Zero, Zero) → Zero
new_ltEs19(ywz5002, ywz4002, app(app(ty_@2, bdd), bde)) → new_ltEs16(ywz5002, ywz4002, bdd, bde)
new_esEs26(ywz5000, ywz4000, app(app(ty_Either, bdh), bea)) → new_esEs4(ywz5000, ywz4000, bdh, bea)
new_asAs(True, ywz102) → ywz102
new_primMulNat0(Succ(ywz500100), Succ(ywz400100)) → new_primPlusNat0(new_primMulNat0(ywz500100, Succ(ywz400100)), ywz400100)
new_esEs26(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_esEs5(ywz5000, ywz4000, bed, bee, bef)
new_ltEs17(LT, EQ) → True
new_esEs4(Left(ywz5000), Right(ywz4000), fa, fb) → False
new_esEs4(Right(ywz5000), Left(ywz4000), fa, fb) → False
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Int) → new_ltEs9(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Nothing, bg) → False
new_lt20(ywz5000, ywz4000, ty_Bool) → new_lt17(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Char) → new_lt15(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_Maybe, dh)) → new_compare13(ywz5000, ywz4000, dh)
new_compare24(ywz5000, ywz4000, False, bd, be, bf) → new_compare110(ywz5000, ywz4000, new_ltEs4(ywz5000, ywz4000, bd, be, bf), bd, be, bf)
new_ltEs19(ywz5002, ywz4002, ty_Integer) → new_ltEs13(ywz5002, ywz4002)
new_esEs26(ywz5000, ywz4000, app(app(ty_@2, beg), beh)) → new_esEs6(ywz5000, ywz4000, beg, beh)
new_esEs23(ywz5000, ywz4000, app(app(app(ty_@3, bd), be), bf)) → new_esEs5(ywz5000, ywz4000, bd, be, bf)
new_lt4(ywz5000, ywz4000, ga, gb) → new_esEs16(new_compare18(ywz5000, ywz4000, ga, gb), LT)
new_ltEs7(ywz500, ywz400, app(app(app(ty_@3, fc), fd), ff)) → new_ltEs4(ywz500, ywz400, fc, fd, ff)
new_compare10(ywz5000, ywz4000, True) → LT
new_esEs9(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_esEs30(ywz500, ywz400, app(app(app(ty_@3, fc), fd), ff)) → new_esEs5(ywz500, ywz400, fc, fd, ff)
new_ltEs17(EQ, GT) → True
new_compare110(ywz5000, ywz4000, False, bd, be, bf) → GT
new_compare10(ywz5000, ywz4000, False) → GT
new_ltEs20(ywz5001, ywz4001, app(app(ty_@2, bga), bgb)) → new_ltEs16(ywz5001, ywz4001, bga, bgb)
new_primCompAux00(ywz280, GT) → GT
new_esEs4(Left(ywz5000), Left(ywz4000), ty_@0, fb) → new_esEs14(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bbe)) → new_esEs11(ywz5001, ywz4001, bbe)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, gh), ha), hb), fb) → new_ltEs4(ywz5000, ywz4000, gh, ha, hb)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs8([], :(ywz4000, ywz4001), dc) → False
new_esEs8(:(ywz5000, ywz5001), [], dc) → False
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Integer) → new_ltEs13(ywz5000, ywz4000)
new_ltEs20(ywz5001, ywz4001, app(app(ty_Either, bfb), bfc)) → new_ltEs5(ywz5001, ywz4001, bfb, bfc)
new_esEs22(ywz5002, ywz4002, app(ty_Ratio, bcg)) → new_esEs11(ywz5002, ywz4002, bcg)
new_esEs6(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), fg, fh) → new_asAs(new_esEs27(ywz5000, ywz4000, fg), new_esEs28(ywz5001, ywz4001, fh))
new_esEs28(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat2(ywz50000, ywz4000)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs22(ywz5002, ywz4002, app(ty_Maybe, bch)) → new_esEs7(ywz5002, ywz4002, bch)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_not(True) → False
new_ltEs7(ywz500, ywz400, app(ty_Maybe, bg)) → new_ltEs12(ywz500, ywz400, bg)
new_esEs15(False, False) → True

The set Q consists of the following terms:

new_esEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_sr(x0, x1)
new_lt13(x0, x1, ty_@0)
new_esEs7(Just(x0), Just(x1), app(ty_Maybe, x2))
new_lt13(x0, x1, app(ty_[], x2))
new_esEs20(x0, x1, ty_Double)
new_lt14(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs7(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), ty_Int, x2)
new_compare25(Double(x0, x1), Double(x2, x3))
new_esEs24(x0, x1, ty_Ordering)
new_esEs28(x0, x1, ty_Int)
new_lt14(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(x0, x1, ty_Bool)
new_primCmpNat1(Zero, Succ(x0))
new_esEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs30(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Int)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs24(x0, x1, ty_Bool)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_compare0(:(x0, x1), :(x2, x3), x4)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs7(x0, x1, ty_@0)
new_ltEs12(Just(x0), Nothing, x1)
new_esEs27(x0, x1, ty_Bool)
new_esEs8(:(x0, x1), :(x2, x3), x4)
new_primPlusNat1(Succ(x0), Zero)
new_esEs15(True, True)
new_lt13(x0, x1, app(ty_Ratio, x2))
new_ltEs17(EQ, GT)
new_ltEs17(GT, EQ)
new_primMulNat0(Succ(x0), Zero)
new_ltEs7(x0, x1, ty_Integer)
new_primPlusNat0(Succ(x0), x1)
new_compare6(x0, x1, ty_Int)
new_esEs13(Integer(x0), Integer(x1))
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs5(Right(x0), Right(x1), x2, ty_Double)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_esEs4(Left(x0), Left(x1), ty_Integer, x2)
new_primCompAux0(x0, x1, x2, x3)
new_ltEs15(True, True)
new_ltEs19(x0, x1, ty_Ordering)
new_compare27(Just(x0), Just(x1), False, x2)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, ty_Float)
new_esEs7(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt19(x0, x1)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_compare24(x0, x1, True, x2, x3, x4)
new_esEs30(x0, x1, ty_Ordering)
new_ltEs14(x0, x1)
new_esEs30(x0, x1, ty_Int)
new_esEs15(False, False)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_lt8(x0, x1)
new_esEs20(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs18(x0, x1, ty_Int)
new_ltEs15(False, False)
new_compare113(x0, x1, False, x2, x3)
new_ltEs19(x0, x1, ty_Double)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs16(LT, GT)
new_esEs16(GT, LT)
new_esEs4(Left(x0), Left(x1), ty_Float, x2)
new_esEs28(x0, x1, ty_@0)
new_compare6(x0, x1, ty_Float)
new_ltEs5(Right(x0), Right(x1), x2, ty_Char)
new_ltEs20(x0, x1, ty_@0)
new_esEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_compare28(x0, x1, False, x2, x3)
new_lt20(x0, x1, ty_Int)
new_primEqNat0(Succ(x0), Succ(x1))
new_primCmpNat0(Zero, x0)
new_pePe(True, x0)
new_ltEs5(Left(x0), Left(x1), ty_Bool, x2)
new_compare110(x0, x1, True, x2, x3, x4)
new_esEs23(x0, x1, ty_Double)
new_ltEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt20(x0, x1, ty_Integer)
new_esEs9(x0, x1)
new_compare7(x0, x1)
new_ltEs19(x0, x1, ty_Float)
new_esEs5(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Float)
new_ltEs12(Just(x0), Just(x1), app(ty_[], x2))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_compare5(x0, x1, x2, x3, x4)
new_compare210(x0, x1, False)
new_ltEs7(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpNat1(Zero, Zero)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt14(x0, x1, app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), ty_Float)
new_esEs23(x0, x1, ty_Integer)
new_compare9(x0, x1, x2, x3)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_ltEs20(x0, x1, ty_Double)
new_ltEs7(x0, x1, app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_compare13(x0, x1, x2)
new_ltEs5(Right(x0), Right(x1), x2, ty_@0)
new_esEs7(Just(x0), Just(x1), app(ty_[], x2))
new_compare27(Nothing, Nothing, False, x0)
new_lt13(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, ty_Float)
new_esEs4(Left(x0), Left(x1), ty_Bool, x2)
new_lt9(x0, x1, x2)
new_esEs7(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs10(Float(x0, x1), Float(x2, x3))
new_primEqNat0(Zero, Zero)
new_esEs24(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, ty_Int)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_lt14(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_primCompAux00(x0, GT)
new_compare27(Nothing, Just(x0), False, x1)
new_compare10(x0, x1, False)
new_ltEs5(Left(x0), Left(x1), ty_Integer, x2)
new_primCompAux00(x0, EQ)
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_primMulNat0(Zero, Zero)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_compare6(x0, x1, ty_Integer)
new_lt20(x0, x1, ty_@0)
new_esEs30(x0, x1, ty_Char)
new_ltEs5(Right(x0), Right(x1), x2, ty_Bool)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_ltEs5(Left(x0), Left(x1), ty_Char, x2)
new_esEs28(x0, x1, ty_Char)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_esEs4(Left(x0), Left(x1), ty_Double, x2)
new_compare19(x0, x1)
new_esEs25(x0, x1, ty_Int)
new_compare8(Float(x0, x1), Float(x2, x3))
new_esEs7(Nothing, Just(x0), x1)
new_esEs16(GT, GT)
new_esEs25(x0, x1, ty_Char)
new_lt13(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_ltEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(Just(x0), Just(x1), ty_Integer)
new_ltEs16(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_lt13(x0, x1, ty_Double)
new_esEs14(@0, @0)
new_ltEs18(x0, x1)
new_compare27(Just(x0), Nothing, False, x1)
new_primMulInt(Neg(x0), Neg(x1))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Float)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs24(x0, x1, ty_Char)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_esEs7(Just(x0), Just(x1), ty_Ordering)
new_ltEs20(x0, x1, ty_Integer)
new_ltEs8(x0, x1, x2)
new_compare12(:%(x0, x1), :%(x2, x3), ty_Integer)
new_lt5(x0, x1, x2)
new_esEs21(x0, x1, ty_Double)
new_esEs22(x0, x1, ty_@0)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs12(Nothing, Just(x0), x1)
new_lt14(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8(:(x0, x1), [], x2)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare16(@0, @0)
new_esEs4(Right(x0), Right(x1), x2, ty_Int)
new_esEs20(x0, x1, ty_@0)
new_pePe(False, x0)
new_ltEs7(x0, x1, ty_Double)
new_compare28(x0, x1, True, x2, x3)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs21(x0, x1, ty_Integer)
new_esEs30(x0, x1, ty_Bool)
new_esEs22(x0, x1, ty_Double)
new_ltEs19(x0, x1, ty_Char)
new_esEs19(x0, x1, ty_Int)
new_compare29(x0, x1, True)
new_compare15(Integer(x0), Integer(x1))
new_compare29(x0, x1, False)
new_ltEs4(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt16(x0, x1, x2, x3, x4)
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpNat2(x0, Zero)
new_compare6(x0, x1, ty_@0)
new_compare113(x0, x1, True, x2, x3)
new_primPlusNat1(Zero, Zero)
new_ltEs9(x0, x1)
new_compare27(x0, x1, True, x2)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_compare6(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs21(x0, x1, ty_Ordering)
new_esEs24(x0, x1, ty_Integer)
new_ltEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(x0, x1, ty_Char)
new_ltEs19(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs28(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_compare0([], :(x0, x1), x2)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs19(x0, x1, ty_Bool)
new_ltEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs26(x0, x1, ty_Bool)
new_primCompAux00(x0, LT)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_lt20(x0, x1, ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt10(x0, x1)
new_lt4(x0, x1, x2, x3)
new_lt11(x0, x1, x2)
new_ltEs7(x0, x1, ty_Bool)
new_lt14(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_@0)
new_compare26(x0, x1, True, x2, x3)
new_esEs26(x0, x1, ty_Integer)
new_ltEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_lt15(x0, x1)
new_ltEs7(x0, x1, app(ty_Maybe, x2))
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(Left(x0), Right(x1), x2, x3)
new_ltEs5(Right(x0), Left(x1), x2, x3)
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Ordering)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt14(x0, x1, app(ty_Maybe, x2))
new_compare111(x0, x1, True, x2, x3)
new_ltEs15(False, True)
new_ltEs15(True, False)
new_ltEs17(GT, GT)
new_lt14(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Int)
new_lt14(x0, x1, ty_Bool)
new_esEs25(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_compare110(x0, x1, False, x2, x3, x4)
new_esEs4(Right(x0), Right(x1), x2, ty_Integer)
new_esEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_compare210(x0, x1, True)
new_esEs20(x0, x1, ty_Int)
new_esEs7(Just(x0), Just(x1), ty_Float)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Double)
new_esEs22(x0, x1, ty_Int)
new_ltEs7(x0, x1, ty_Int)
new_ltEs12(Just(x0), Just(x1), ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, ty_Float)
new_lt18(x0, x1)
new_lt13(x0, x1, app(ty_Maybe, x2))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Zero, Succ(x0))
new_esEs15(True, False)
new_esEs15(False, True)
new_esEs7(Just(x0), Just(x1), ty_Int)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, ty_Bool)
new_esEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs4(Right(x0), Right(x1), x2, ty_Char)
new_ltEs7(x0, x1, ty_Char)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt17(x0, x1)
new_asAs(True, x0)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs7(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Char)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs16(LT, LT)
new_compare17(x0, x1)
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_lt13(x0, x1, ty_Integer)
new_esEs7(Just(x0), Just(x1), ty_Char)
new_esEs26(x0, x1, ty_Ordering)
new_esEs18(x0, x1, ty_Integer)
new_sr0(Integer(x0), Integer(x1))
new_esEs28(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_esEs4(Left(x0), Right(x1), x2, x3)
new_esEs4(Right(x0), Left(x1), x2, x3)
new_ltEs10(x0, x1)
new_esEs22(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_Float)
new_lt12(x0, x1, x2, x3)
new_compare10(x0, x1, True)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, ty_@0)
new_ltEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt6(x0, x1)
new_esEs25(x0, x1, app(ty_[], x2))
new_ltEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_lt13(x0, x1, ty_Bool)
new_ltEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs20(x0, x1, ty_Ordering)
new_lt14(x0, x1, ty_Integer)
new_ltEs11(x0, x1, x2)
new_ltEs12(Just(x0), Just(x1), ty_Double)
new_esEs26(x0, x1, app(ty_[], x2))
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_compare6(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8([], [], x0)
new_compare112(x0, x1, True, x2)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_asAs(False, x0)
new_compare6(x0, x1, app(ty_Maybe, x2))
new_lt13(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_@0)
new_primPlusNat1(Zero, Succ(x0))
new_compare6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), ty_@0, x2)
new_esEs4(Left(x0), Left(x1), ty_Char, x2)
new_compare6(x0, x1, ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, ty_Integer)
new_esEs7(Just(x0), Just(x1), ty_Integer)
new_ltEs5(Left(x0), Left(x1), ty_Float, x2)
new_compare14(Char(x0), Char(x1))
new_lt13(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs17(LT, GT)
new_ltEs17(GT, LT)
new_ltEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs23(x0, x1, ty_Float)
new_ltEs20(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_[], x2))
new_esEs12(Char(x0), Char(x1))
new_esEs23(x0, x1, ty_Char)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs28(x0, x1, ty_Ordering)
new_esEs4(Right(x0), Right(x1), x2, ty_@0)
new_esEs7(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Char)
new_compare0(:(x0, x1), [], x2)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs27(x0, x1, ty_Int)
new_esEs17(Double(x0, x1), Double(x2, x3))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, app(ty_[], x2))
new_primCmpNat1(Succ(x0), Zero)
new_ltEs12(Just(x0), Just(x1), ty_Bool)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_compare6(x0, x1, ty_Double)
new_esEs7(Nothing, Nothing, x0)
new_ltEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Double)
new_compare24(x0, x1, False, x2, x3, x4)
new_primCmpNat1(Succ(x0), Succ(x1))
new_primPlusNat1(Succ(x0), Succ(x1))
new_ltEs12(Just(x0), Just(x1), ty_Char)
new_esEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs7(Just(x0), Just(x1), ty_Double)
new_ltEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_compare26(x0, x1, False, x2, x3)
new_ltEs7(x0, x1, ty_Float)
new_not(True)
new_esEs7(Just(x0), Just(x1), ty_Bool)
new_esEs24(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Char)
new_compare6(x0, x1, app(ty_[], x2))
new_esEs16(EQ, LT)
new_esEs16(LT, EQ)
new_compare12(:%(x0, x1), :%(x2, x3), ty_Int)
new_esEs21(x0, x1, ty_@0)
new_primCmpNat0(Succ(x0), x1)
new_esEs16(EQ, EQ)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Double)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_ltEs19(x0, x1, ty_Int)
new_not(False)
new_esEs6(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs25(x0, x1, ty_Integer)
new_ltEs12(Just(x0), Just(x1), ty_@0)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Int)
new_esEs23(x0, x1, ty_Ordering)
new_esEs26(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), ty_@0, x2)
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Bool)
new_primMulNat0(Succ(x0), Succ(x1))
new_lt14(x0, x1, ty_@0)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(x0, x1, ty_Float)
new_ltEs13(x0, x1)
new_esEs4(Right(x0), Right(x1), x2, ty_Float)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_lt14(x0, x1, ty_Ordering)
new_compare6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs16(EQ, GT)
new_esEs16(GT, EQ)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt7(x0, x1)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare18(x0, x1, x2, x3)
new_ltEs5(Right(x0), Right(x1), x2, ty_Int)
new_ltEs17(LT, EQ)
new_compare111(x0, x1, False, x2, x3)
new_ltEs17(EQ, LT)
new_esEs7(Just(x0), Nothing, x1)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_lt14(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Integer)
new_esEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs30(x0, x1, ty_Integer)
new_esEs30(x0, x1, ty_Float)
new_esEs23(x0, x1, ty_Int)
new_compare112(x0, x1, False, x2)
new_esEs26(x0, x1, ty_@0)
new_ltEs5(Left(x0), Left(x1), ty_Int, x2)
new_esEs7(Just(x0), Just(x1), ty_@0)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs12(Nothing, Nothing, x0)
new_ltEs6(x0, x1)
new_ltEs12(Just(x0), Just(x1), ty_Int)
new_esEs19(x0, x1, ty_Integer)
new_compare0([], [], x0)
new_esEs24(x0, x1, ty_Double)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_lt14(x0, x1, ty_Double)
new_ltEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs23(x0, x1, ty_Bool)
new_esEs8([], :(x0, x1), x2)
new_ltEs19(x0, x1, ty_Integer)
new_primPlusNat0(Zero, x0)
new_primEqNat0(Zero, Succ(x0))
new_esEs25(x0, x1, ty_Double)
new_esEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs5(Left(x0), Left(x1), ty_Double, x2)
new_primCmpNat2(x0, Succ(x1))
new_esEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs11(:%(x0, x1), :%(x2, x3), x4)
new_esEs22(x0, x1, ty_Integer)
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_lt13(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_lt13(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare11(x0, x1, False)
new_esEs20(x0, x1, ty_Char)
new_ltEs17(EQ, EQ)
new_esEs22(x0, x1, ty_Char)
new_ltEs17(LT, LT)
new_esEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Bool)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_compare11(x0, x1, True)
new_esEs7(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Bool)
new_lt13(x0, x1, ty_Ordering)
new_esEs20(x0, x1, app(ty_Ratio, x2))

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 2 SCCs.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ AND
QDP
                                          ↳ UsableRulesProof
                                        ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_splitLT(Branch(ywz430, ywz431, ywz432, ywz433, ywz434), h, ba) → new_splitLT3(ywz430, ywz431, ywz432, ywz433, ywz434, Nothing, h, ba)
new_splitLT3(Just(ywz400), ywz41, ywz42, ywz43, ywz44, Nothing, h, ba) → new_splitLT2(ywz400, ywz41, ywz42, ywz43, ywz44, new_esEs16(new_compare27(Nothing, Just(ywz400), False, h), LT), h, ba)
new_splitLT2(ywz400, ywz41, ywz42, Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz44, True, h, ba) → new_splitLT3(ywz430, ywz431, ywz432, ywz433, ywz434, Nothing, h, ba)
new_splitLT1(ywz41, ywz42, ywz43, ywz44, True, h, ba) → new_splitLT(ywz44, h, ba)
new_splitLT3(Nothing, ywz41, ywz42, ywz43, ywz44, Nothing, h, ba) → new_splitLT1(ywz41, ywz42, ywz43, ywz44, new_esEs16(new_compare13(Nothing, Nothing, h), GT), h, ba)
new_splitLT10(ywz400, ywz41, ywz42, ywz43, ywz44, True, h, ba) → new_splitLT(ywz44, h, ba)
new_splitLT2(ywz400, ywz41, ywz42, ywz43, ywz44, False, h, ba) → new_splitLT10(ywz400, ywz41, ywz42, ywz43, ywz44, new_esEs16(new_compare13(Nothing, Just(ywz400), h), GT), h, ba)

The TRS R consists of the following rules:

new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(ty_@2, hc), hd), fb) → new_ltEs16(ywz5000, ywz4000, hc, hd)
new_esEs26(ywz5000, ywz4000, app(ty_[], bdg)) → new_esEs8(ywz5000, ywz4000, bdg)
new_esEs23(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs22(ywz5002, ywz4002, ty_Double) → new_esEs17(ywz5002, ywz4002)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_Maybe, cd)) → new_esEs7(ywz5000, ywz4000, cd)
new_ltEs7(ywz500, ywz400, app(ty_Ratio, ef)) → new_ltEs11(ywz500, ywz400, ef)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_esEs7(ywz5000, ywz4000, bba)
new_compare112(ywz95, ywz96, True, bdf) → LT
new_ltEs19(ywz5002, ywz4002, app(ty_[], bcd)) → new_ltEs8(ywz5002, ywz4002, bcd)
new_compare6(ywz5000, ywz4000, ty_Double) → new_compare25(ywz5000, ywz4000)
new_esEs16(EQ, GT) → False
new_esEs16(GT, EQ) → False
new_ltEs19(ywz5002, ywz4002, app(ty_Ratio, bcg)) → new_ltEs11(ywz5002, ywz4002, bcg)
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, bcb), bcc)) → new_esEs6(ywz5001, ywz4001, bcb, bcc)
new_ltEs20(ywz5001, ywz4001, ty_Int) → new_ltEs9(ywz5001, ywz4001)
new_ltEs15(True, False) → False
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs17(LT, LT) → True
new_esEs25(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(app(app(ty_@3, bbg), bbh), bca)) → new_esEs5(ywz5001, ywz4001, bbg, bbh, bca)
new_compare6(ywz5000, ywz4000, app(app(ty_@2, ed), ee)) → new_compare18(ywz5000, ywz4000, ed, ee)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Int) → new_ltEs9(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_[], dd)) → new_compare0(ywz5000, ywz4000, dd)
new_ltEs7(ywz500, ywz400, app(ty_[], dc)) → new_ltEs8(ywz500, ywz400, dc)
new_lt20(ywz5000, ywz4000, ty_Int) → new_lt10(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, ty_Integer) → new_compare15(ywz5000, ywz4000)
new_primCmpNat1(Zero, Succ(ywz400000)) → LT
new_lt14(ywz5000, ywz4000, app(app(ty_@2, ga), gb)) → new_lt4(ywz5000, ywz4000, ga, gb)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, ty_Integer) → new_esEs13(ywz500, ywz400)
new_lt19(ywz5000, ywz4000) → new_esEs16(new_compare25(ywz5000, ywz4000), LT)
new_esEs26(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_[], bh)) → new_esEs8(ywz5000, ywz4000, bh)
new_compare27(Just(ywz500), Just(ywz400), False, h) → new_compare112(ywz500, ywz400, new_ltEs7(ywz500, ywz400, h), h)
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_esEs7(ywz5000, ywz4000, bec)
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, app(app(ty_Either, eg), eh)) → new_lt12(ywz5000, ywz4000, eg, eh)
new_esEs22(ywz5002, ywz4002, ty_Char) → new_esEs12(ywz5002, ywz4002)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Double) → new_ltEs18(ywz5000, ywz4000)
new_ltEs10(ywz500, ywz400) → new_not(new_esEs16(new_compare8(ywz500, ywz400), GT))
new_ltEs12(Nothing, Nothing, bg) → True
new_primMulNat0(Zero, Zero) → Zero
new_esEs24(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs8(:(ywz5000, ywz5001), :(ywz4000, ywz4001), dc) → new_asAs(new_esEs25(ywz5000, ywz4000, dc), new_esEs8(ywz5001, ywz4001, dc))
new_lt13(ywz5001, ywz4001, ty_@0) → new_lt7(ywz5001, ywz4001)
new_lt20(ywz5000, ywz4000, ty_@0) → new_lt7(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Int, fb) → new_ltEs9(ywz5000, ywz4000)
new_compare29(ywz5000, ywz4000, True) → EQ
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(ty_[], he)) → new_esEs8(ywz5000, ywz4000, he)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs5(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), fc, fd, ff) → new_asAs(new_esEs20(ywz5000, ywz4000, fc), new_asAs(new_esEs21(ywz5001, ywz4001, fd), new_esEs22(ywz5002, ywz4002, ff)))
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(ty_[], he)) → new_ltEs8(ywz5000, ywz4000, he)
new_lt20(ywz5000, ywz4000, ty_Float) → new_lt6(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_Char) → new_ltEs6(ywz500, ywz400)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Integer) → new_ltEs13(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Float) → new_ltEs10(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(ty_Either, bdh), bea)) → new_lt12(ywz5000, ywz4000, bdh, bea)
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs30(ywz500, ywz400, ty_Double) → new_esEs17(ywz500, ywz400)
new_esEs30(ywz500, ywz400, app(ty_Ratio, ef)) → new_esEs11(ywz500, ywz400, ef)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_compare16(@0, @0) → EQ
new_compare29(ywz5000, ywz4000, False) → new_compare11(ywz5000, ywz4000, new_ltEs17(ywz5000, ywz4000))
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_Ratio, cc)) → new_esEs11(ywz5000, ywz4000, cc)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, eg), eh)) → new_esEs4(ywz5000, ywz4000, eg, eh)
new_esEs30(ywz500, ywz400, ty_Int) → new_esEs9(ywz500, ywz400)
new_esEs19(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(ty_@2, hc), hd), fb) → new_esEs6(ywz5000, ywz4000, hc, hd)
new_compare9(ywz5000, ywz4000, eg, eh) → new_compare26(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, eg, eh), eg, eh)
new_ltEs5(Left(ywz5000), Right(ywz4000), fa, fb) → True
new_lt14(ywz5000, ywz4000, ty_Int) → new_lt10(ywz5000, ywz4000)
new_compare0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), dc) → new_primCompAux0(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, dc), dc)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(ty_@2, da), db)) → new_esEs6(ywz5000, ywz4000, da, db)
new_ltEs7(ywz500, ywz400, ty_Double) → new_ltEs18(ywz500, ywz400)
new_primCmpNat1(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat1(ywz500000, ywz400000)
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(app(ty_Either, hf), hg)) → new_ltEs5(ywz5000, ywz4000, hf, hg)
new_lt14(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_lt5(ywz5000, ywz4000, bba)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Float, fb) → new_ltEs10(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, app(ty_Maybe, bch)) → new_ltEs12(ywz5002, ywz4002, bch)
new_ltEs13(ywz500, ywz400) → new_not(new_esEs16(new_compare15(ywz500, ywz400), GT))
new_compare6(ywz5000, ywz4000, ty_@0) → new_compare16(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, ga), gb)) → new_esEs6(ywz5000, ywz4000, ga, gb)
new_esEs28(ywz5001, ywz4001, app(app(app(ty_@3, bff), bfg), bfh)) → new_esEs5(ywz5001, ywz4001, bff, bfg, bfh)
new_esEs22(ywz5002, ywz4002, app(ty_[], bcd)) → new_esEs8(ywz5002, ywz4002, bcd)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_ltEs9(ywz500, ywz400) → new_not(new_esEs16(new_compare7(ywz500, ywz400), GT))
new_ltEs5(Right(ywz5000), Left(ywz4000), fa, fb) → False
new_ltEs19(ywz5002, ywz4002, ty_Char) → new_ltEs6(ywz5002, ywz4002)
new_ltEs17(EQ, LT) → False
new_pePe(False, ywz175) → ywz175
new_esEs27(ywz5000, ywz4000, app(ty_[], bdg)) → new_esEs8(ywz5000, ywz4000, bdg)
new_esEs25(ywz5000, ywz4000, app(app(ty_Either, de), df)) → new_esEs4(ywz5000, ywz4000, de, df)
new_esEs15(True, False) → False
new_esEs15(False, True) → False
new_ltEs15(True, True) → True
new_ltEs19(ywz5002, ywz4002, ty_Float) → new_ltEs10(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, app(app(ty_Either, bce), bcf)) → new_esEs4(ywz5002, ywz4002, bce, bcf)
new_compare6(ywz5000, ywz4000, ty_Bool) → new_compare17(ywz5000, ywz4000)
new_ltEs15(False, True) → True
new_esEs26(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(ty_Maybe, bbf)) → new_esEs7(ywz5001, ywz4001, bbf)
new_esEs30(ywz500, ywz400, ty_Bool) → new_esEs15(ywz500, ywz400)
new_lt13(ywz5001, ywz4001, ty_Integer) → new_lt8(ywz5001, ywz4001)
new_esEs23(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_esEs7(ywz5000, ywz4000, bba)
new_esEs10(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs9(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Integer, fb) → new_ltEs13(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_Ratio, cc)) → new_ltEs11(ywz5000, ywz4000, cc)
new_ltEs15(False, False) → True
new_esEs26(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_lt17(ywz5000, ywz4000) → new_esEs16(new_compare17(ywz5000, ywz4000), LT)
new_compare27(Nothing, Just(ywz400), False, h) → LT
new_esEs20(ywz5000, ywz4000, app(ty_[], bag)) → new_esEs8(ywz5000, ywz4000, bag)
new_esEs25(ywz5000, ywz4000, app(app(ty_@2, ed), ee)) → new_esEs6(ywz5000, ywz4000, ed, ee)
new_compare14(Char(ywz5000), Char(ywz4000)) → new_primCmpNat1(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Char, fb) → new_ltEs6(ywz5000, ywz4000)
new_compare18(ywz5000, ywz4000, ga, gb) → new_compare28(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, ga, gb), ga, gb)
new_esEs25(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Char, fb) → new_esEs12(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, app(app(app(ty_@3, bda), bdb), bdc)) → new_ltEs4(ywz5002, ywz4002, bda, bdb, bdc)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(ty_@2, da), db)) → new_ltEs16(ywz5000, ywz4000, da, db)
new_lt14(ywz5000, ywz4000, ty_Char) → new_lt15(ywz5000, ywz4000)
new_lt5(ywz50, ywz40, h) → new_esEs16(new_compare13(ywz50, ywz40, h), LT)
new_esEs30(ywz500, ywz400, ty_Float) → new_esEs10(ywz500, ywz400)
new_esEs28(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, app(app(ty_@2, bcb), bcc)) → new_esEs6(ywz5001, ywz4001, bcb, bcc)
new_compare0([], [], dc) → EQ
new_pePe(True, ywz175) → True
new_primEqNat0(Zero, Zero) → True
new_esEs19(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs14(@0, @0) → True
new_compare111(ywz5000, ywz4000, False, eg, eh) → GT
new_esEs28(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_compare17(ywz5000, ywz4000) → new_compare210(ywz5000, ywz4000, new_esEs15(ywz5000, ywz4000))
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_[], bh)) → new_ltEs8(ywz5000, ywz4000, bh)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_@0) → new_ltEs14(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_@0, fb) → new_ltEs14(ywz5000, ywz4000)
new_esEs16(LT, GT) → False
new_esEs16(GT, LT) → False
new_lt20(ywz5000, ywz4000, app(ty_[], bdg)) → new_lt9(ywz5000, ywz4000, bdg)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_ltEs17(GT, LT) → False
new_sr(ywz5001, ywz4001) → new_primMulInt(ywz5001, ywz4001)
new_compare7(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_primCmpNat1(Zero, Zero) → EQ
new_esEs30(ywz500, ywz400, ty_Char) → new_esEs12(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, ty_Integer) → new_ltEs13(ywz500, ywz400)
new_esEs24(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Int, fb) → new_esEs9(ywz5000, ywz4000)
new_ltEs20(ywz5001, ywz4001, app(ty_Ratio, bfd)) → new_ltEs11(ywz5001, ywz4001, bfd)
new_primPlusNat0(Succ(ywz1950), ywz400100) → Succ(Succ(new_primPlusNat1(ywz1950, ywz400100)))
new_ltEs11(ywz500, ywz400, ef) → new_not(new_esEs16(new_compare12(ywz500, ywz400, ef), GT))
new_ltEs19(ywz5002, ywz4002, ty_Bool) → new_ltEs15(ywz5002, ywz4002)
new_lt14(ywz5000, ywz4000, app(ty_Ratio, bah)) → new_lt11(ywz5000, ywz4000, bah)
new_esEs28(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs13(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_primCmpNat1(Succ(ywz500000), Zero) → GT
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(app(ty_Either, hf), hg)) → new_esEs4(ywz5000, ywz4000, hf, hg)
new_compare24(ywz5000, ywz4000, True, bd, be, bf) → EQ
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Ordering, fb) → new_ltEs17(ywz5000, ywz4000)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_ltEs20(ywz5001, ywz4001, app(app(app(ty_@3, bff), bfg), bfh)) → new_ltEs4(ywz5001, ywz4001, bff, bfg, bfh)
new_esEs24(ywz5001, ywz4001, app(ty_Ratio, bbe)) → new_esEs11(ywz5001, ywz4001, bbe)
new_lt20(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_lt11(ywz5000, ywz4000, beb)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs15(True, True) → True
new_compare113(ywz5000, ywz4000, True, ga, gb) → LT
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(ty_Either, gd), ge), fb) → new_esEs4(ywz5000, ywz4000, gd, ge)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, gh), ha), hb), fb) → new_esEs5(ywz5000, ywz4000, gh, ha, hb)
new_primCompAux0(ywz5000, ywz4000, ywz228, dc) → new_primCompAux00(ywz228, new_compare6(ywz5000, ywz4000, dc))
new_ltEs17(LT, GT) → True
new_primPlusNat1(Succ(ywz19500), Zero) → Succ(ywz19500)
new_primPlusNat1(Zero, Succ(ywz4001000)) → Succ(ywz4001000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Ordering) → new_ltEs17(ywz5000, ywz4000)
new_compare27(Just(ywz500), Nothing, False, h) → GT
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Float) → new_ltEs10(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_@0) → new_ltEs14(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_Ratio, dg)) → new_compare12(ywz5000, ywz4000, dg)
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, app(ty_[], bfa)) → new_esEs8(ywz5001, ywz4001, bfa)
new_lt13(ywz5001, ywz4001, ty_Float) → new_lt6(ywz5001, ywz4001)
new_compare27(Nothing, Nothing, False, h) → LT
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_lt18(ywz5000, ywz4000) → new_esEs16(new_compare19(ywz5000, ywz4000), LT)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_Ratio, gf), fb) → new_esEs11(ywz5000, ywz4000, gf)
new_compare6(ywz5000, ywz4000, ty_Char) → new_compare14(ywz5000, ywz4000)
new_primCmpNat0(Succ(ywz40000), ywz50000) → new_primCmpNat1(ywz40000, ywz50000)
new_esEs8([], [], dc) → True
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_lt20(ywz5000, ywz4000, ty_Integer) → new_lt8(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, ty_Ordering) → new_lt18(ywz5000, ywz4000)
new_compare26(ywz5000, ywz4000, True, eg, eh) → EQ
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Char) → new_ltEs6(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bbc), bbd)) → new_esEs4(ywz5001, ywz4001, bbc, bbd)
new_esEs22(ywz5002, ywz4002, app(app(app(ty_@3, bda), bdb), bdc)) → new_esEs5(ywz5002, ywz4002, bda, bdb, bdc)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_lt5(ywz5000, ywz4000, bec)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_ltEs17(EQ, EQ) → True
new_ltEs20(ywz5001, ywz4001, app(ty_[], bfa)) → new_ltEs8(ywz5001, ywz4001, bfa)
new_ltEs19(ywz5002, ywz4002, ty_Ordering) → new_ltEs17(ywz5002, ywz4002)
new_compare12(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare7(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_lt13(ywz5001, ywz4001, ty_Char) → new_lt15(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_Maybe, gg), fb) → new_ltEs12(ywz5000, ywz4000, gg)
new_esEs23(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_@0) → new_ltEs14(ywz500, ywz400)
new_ltEs8(ywz500, ywz400, dc) → new_not(new_esEs16(new_compare0(ywz500, ywz400, dc), GT))
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(ty_Either, gd), ge), fb) → new_ltEs5(ywz5000, ywz4000, gd, ge)
new_compare19(ywz5000, ywz4000) → new_compare29(ywz5000, ywz4000, new_esEs16(ywz5000, ywz4000))
new_lt15(ywz5000, ywz4000) → new_esEs16(new_compare14(ywz5000, ywz4000), LT)
new_esEs25(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(ty_[], dd)) → new_esEs8(ywz5000, ywz4000, dd)
new_lt9(ywz5000, ywz4000, bag) → new_esEs16(new_compare0(ywz5000, ywz4000, bag), LT)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_Ratio, gf), fb) → new_ltEs11(ywz5000, ywz4000, gf)
new_lt14(ywz5000, ywz4000, ty_Double) → new_lt19(ywz5000, ywz4000)
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_lt14(ywz5000, ywz4000, app(app(app(ty_@3, bd), be), bf)) → new_lt16(ywz5000, ywz4000, bd, be, bf)
new_esEs23(ywz5000, ywz4000, app(ty_[], bag)) → new_esEs8(ywz5000, ywz4000, bag)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Ordering, fb) → new_esEs16(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, app(app(ty_@2, fg), fh)) → new_ltEs16(ywz500, ywz400, fg, fh)
new_ltEs7(ywz500, ywz400, ty_Float) → new_ltEs10(ywz500, ywz400)
new_compare113(ywz5000, ywz4000, False, ga, gb) → GT
new_lt14(ywz5000, ywz4000, ty_Float) → new_lt6(ywz5000, ywz4000)
new_ltEs4(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), fc, fd, ff) → new_pePe(new_lt14(ywz5000, ywz4000, fc), new_asAs(new_esEs23(ywz5000, ywz4000, fc), new_pePe(new_lt13(ywz5001, ywz4001, fd), new_asAs(new_esEs24(ywz5001, ywz4001, fd), new_ltEs19(ywz5002, ywz4002, ff)))))
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_ltEs17(ywz5000, ywz4000)
new_primCompAux00(ywz280, LT) → LT
new_esEs23(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_esEs5(ywz5000, ywz4000, bed, bee, bef)
new_esEs7(Nothing, Nothing, bg) → True
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_esEs22(ywz5002, ywz4002, ty_Integer) → new_esEs13(ywz5002, ywz4002)
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, app(ty_Maybe, bfe)) → new_ltEs12(ywz5001, ywz4001, bfe)
new_ltEs20(ywz5001, ywz4001, ty_Integer) → new_ltEs13(ywz5001, ywz4001)
new_compare5(ywz5000, ywz4000, bd, be, bf) → new_compare24(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bd, be, bf), bd, be, bf)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Double, fb) → new_esEs17(ywz5000, ywz4000)
new_compare8(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare7(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs17(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs9(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(app(app(ty_@3, bab), bac), bad)) → new_esEs5(ywz5000, ywz4000, bab, bac, bad)
new_lt20(ywz5000, ywz4000, app(app(ty_@2, beg), beh)) → new_lt4(ywz5000, ywz4000, beg, beh)
new_lt12(ywz5000, ywz4000, eg, eh) → new_esEs16(new_compare9(ywz5000, ywz4000, eg, eh), LT)
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_ltEs20(ywz5001, ywz4001, ty_@0) → new_ltEs14(ywz5001, ywz4001)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(app(app(ty_@3, bab), bac), bad)) → new_ltEs4(ywz5000, ywz4000, bab, bac, bad)
new_sr0(Integer(ywz40000), Integer(ywz50010)) → Integer(new_primMulInt(ywz40000, ywz50010))
new_primPlusNat1(Succ(ywz19500), Succ(ywz4001000)) → Succ(Succ(new_primPlusNat1(ywz19500, ywz4001000)))
new_lt13(ywz5001, ywz4001, app(ty_Maybe, bbf)) → new_lt5(ywz5001, ywz4001, bbf)
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_compare28(ywz5000, ywz4000, True, ga, gb) → EQ
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_Maybe, cd)) → new_ltEs12(ywz5000, ywz4000, cd)
new_esEs7(Just(ywz5000), Nothing, bg) → False
new_esEs7(Nothing, Just(ywz4000), bg) → False
new_esEs25(ywz5000, ywz4000, app(ty_Ratio, dg)) → new_esEs11(ywz5000, ywz4000, dg)
new_compare6(ywz5000, ywz4000, app(app(ty_Either, de), df)) → new_compare9(ywz5000, ywz4000, de, df)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, ce), cf), cg)) → new_ltEs4(ywz5000, ywz4000, ce, cf, cg)
new_ltEs20(ywz5001, ywz4001, ty_Double) → new_ltEs18(ywz5001, ywz4001)
new_esEs25(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs22(ywz5002, ywz4002, app(app(ty_@2, bdd), bde)) → new_esEs6(ywz5002, ywz4002, bdd, bde)
new_esEs26(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_esEs11(ywz5000, ywz4000, beb)
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primCompAux00(ywz280, EQ) → ywz280
new_esEs23(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_lt11(ywz5000, ywz4000, bah) → new_esEs16(new_compare12(ywz5000, ywz4000, bah), LT)
new_esEs25(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_primCmpNat0(Zero, ywz50000) → LT
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, ty_Double) → new_ltEs18(ywz5002, ywz4002)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, app(ty_[], bbb)) → new_lt9(ywz5001, ywz4001, bbb)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Bool) → new_ltEs15(ywz5000, ywz4000)
new_ltEs14(ywz500, ywz400) → new_not(new_esEs16(new_compare16(ywz500, ywz400), GT))
new_compare6(ywz5000, ywz4000, ty_Float) → new_compare8(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(ty_Ratio, hh)) → new_ltEs11(ywz5000, ywz4000, hh)
new_ltEs6(ywz500, ywz400) → new_not(new_esEs16(new_compare14(ywz500, ywz400), GT))
new_esEs12(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, app(app(ty_Either, bbc), bbd)) → new_lt12(ywz5001, ywz4001, bbc, bbd)
new_not(False) → True
new_esEs30(ywz500, ywz400, ty_@0) → new_esEs14(ywz500, ywz400)
new_esEs23(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs18(ywz500, ywz400) → new_not(new_esEs16(new_compare25(ywz500, ywz400), GT))
new_primPlusNat0(Zero, ywz400100) → Succ(ywz400100)
new_esEs23(ywz5000, ywz4000, app(app(ty_@2, ga), gb)) → new_esEs6(ywz5000, ywz4000, ga, gb)
new_compare210(ywz5000, ywz4000, False) → new_compare10(ywz5000, ywz4000, new_ltEs15(ywz5000, ywz4000))
new_esEs30(ywz500, ywz400, app(app(ty_Either, fa), fb)) → new_esEs4(ywz500, ywz400, fa, fb)
new_esEs11(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ef) → new_asAs(new_esEs18(ywz5000, ywz4000, ef), new_esEs19(ywz5001, ywz4001, ef))
new_esEs16(LT, EQ) → False
new_esEs16(EQ, LT) → False
new_esEs25(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(ty_[], bbb)) → new_esEs8(ywz5001, ywz4001, bbb)
new_compare25(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare7(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Double) → new_ltEs18(ywz5000, ywz4000)
new_compare0(:(ywz5000, ywz5001), [], dc) → GT
new_ltEs16(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), fg, fh) → new_pePe(new_lt20(ywz5000, ywz4000, fg), new_asAs(new_esEs26(ywz5000, ywz4000, fg), new_ltEs20(ywz5001, ywz4001, fh)))
new_esEs23(ywz5000, ywz4000, app(ty_Ratio, bah)) → new_esEs11(ywz5000, ywz4000, bah)
new_lt20(ywz5000, ywz4000, ty_Ordering) → new_lt18(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_Bool) → new_ltEs15(ywz500, ywz400)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(app(ty_@2, bae), baf)) → new_esEs6(ywz5000, ywz4000, bae, baf)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_[], gc), fb) → new_esEs8(ywz5000, ywz4000, gc)
new_lt13(ywz5001, ywz4001, ty_Ordering) → new_lt18(ywz5001, ywz4001)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, bah)) → new_esEs11(ywz5000, ywz4000, bah)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, bd), be), bf)) → new_esEs5(ywz5000, ywz4000, bd, be, bf)
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_ltEs19(ywz5002, ywz4002, ty_Int) → new_ltEs9(ywz5002, ywz4002)
new_esEs28(ywz5001, ywz4001, app(ty_Maybe, bfe)) → new_esEs7(ywz5001, ywz4001, bfe)
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bbg), bbh), bca)) → new_esEs5(ywz5001, ywz4001, bbg, bbh, bca)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat0(Zero, ywz40000)
new_ltEs7(ywz500, ywz400, app(app(ty_Either, fa), fb)) → new_ltEs5(ywz500, ywz400, fa, fb)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bbf)) → new_esEs7(ywz5001, ywz4001, bbf)
new_primMulInt(Pos(ywz50010), Pos(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Bool, fb) → new_esEs15(ywz5000, ywz4000)
new_esEs18(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, app(app(ty_Either, eg), eh)) → new_esEs4(ywz5000, ywz4000, eg, eh)
new_lt7(ywz5000, ywz4000) → new_esEs16(new_compare16(ywz5000, ywz4000), LT)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_Maybe, gg), fb) → new_esEs7(ywz5000, ywz4000, gg)
new_compare13(ywz50, ywz40, h) → new_compare27(ywz50, ywz40, new_esEs7(ywz50, ywz40, h), h)
new_primMulInt(Neg(ywz50010), Neg(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, beg), beh)) → new_esEs6(ywz5000, ywz4000, beg, beh)
new_esEs16(EQ, EQ) → True
new_esEs24(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_esEs26(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, app(app(ty_Either, bce), bcf)) → new_ltEs5(ywz5002, ywz4002, bce, bcf)
new_esEs30(ywz500, ywz400, app(ty_Maybe, bg)) → new_esEs7(ywz500, ywz400, bg)
new_primEqNat0(Succ(ywz50000), Zero) → False
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, app(ty_Ratio, bbe)) → new_lt11(ywz5001, ywz4001, bbe)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs7(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(app(ty_Either, bbc), bbd)) → new_esEs4(ywz5001, ywz4001, bbc, bbd)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, bdh), bea)) → new_esEs4(ywz5000, ywz4000, bdh, bea)
new_compare210(ywz5000, ywz4000, True) → EQ
new_esEs22(ywz5002, ywz4002, ty_Int) → new_esEs9(ywz5002, ywz4002)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Float, fb) → new_esEs10(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Bool, fb) → new_ltEs15(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, ty_Integer) → new_lt8(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat2(ywz40000, Zero)
new_lt14(ywz5000, ywz4000, app(ty_[], bag)) → new_lt9(ywz5000, ywz4000, bag)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Char) → new_ltEs6(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, ty_Double) → new_lt19(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_compare12(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare15(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_[], gc), fb) → new_ltEs8(ywz5000, ywz4000, gc)
new_compare6(ywz5000, ywz4000, app(app(app(ty_@3, ea), eb), ec)) → new_compare5(ywz5000, ywz4000, ea, eb, ec)
new_compare6(ywz5000, ywz4000, ty_Ordering) → new_compare19(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, app(app(ty_@2, bcb), bcc)) → new_lt4(ywz5001, ywz4001, bcb, bcc)
new_esEs26(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs28(ywz5001, ywz4001, app(app(ty_@2, bga), bgb)) → new_esEs6(ywz5001, ywz4001, bga, bgb)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(ty_Either, ca), cb)) → new_ltEs5(ywz5000, ywz4000, ca, cb)
new_lt14(ywz5000, ywz4000, ty_Bool) → new_lt17(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(ty_Maybe, dh)) → new_esEs7(ywz5000, ywz4000, dh)
new_lt10(ywz5000, ywz4000) → new_esEs16(new_compare7(ywz5000, ywz4000), LT)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, ce), cf), cg)) → new_esEs5(ywz5000, ywz4000, ce, cf, cg)
new_ltEs20(ywz5001, ywz4001, ty_Ordering) → new_ltEs17(ywz5001, ywz4001)
new_esEs25(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Integer, fb) → new_esEs13(ywz5000, ywz4000)
new_primCmpNat2(ywz50000, Succ(ywz40000)) → new_primCmpNat1(ywz50000, ywz40000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Double, fb) → new_ltEs18(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_ltEs7(ywz500, ywz400, ty_Int) → new_ltEs9(ywz500, ywz400)
new_esEs30(ywz500, ywz400, ty_Ordering) → new_esEs16(ywz500, ywz400)
new_lt13(ywz5001, ywz4001, ty_Int) → new_lt10(ywz5001, ywz4001)
new_esEs16(LT, LT) → True
new_asAs(False, ywz102) → False
new_lt20(ywz5000, ywz4000, ty_Double) → new_lt19(ywz5000, ywz4000)
new_primMulInt(Neg(ywz50010), Pos(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Pos(ywz50010), Neg(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulNat0(Succ(ywz500100), Zero) → Zero
new_primMulNat0(Zero, Succ(ywz400100)) → Zero
new_ltEs20(ywz5001, ywz4001, ty_Bool) → new_ltEs15(ywz5001, ywz4001)
new_esEs26(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs22(ywz5002, ywz4002, ty_Ordering) → new_esEs16(ywz5002, ywz4002)
new_esEs16(GT, GT) → True
new_primCmpNat2(ywz50000, Zero) → GT
new_esEs24(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_esEs23(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_esEs7(ywz5000, ywz4000, bec)
new_lt8(ywz5000, ywz4000) → new_esEs16(new_compare15(ywz5000, ywz4000), LT)
new_compare110(ywz5000, ywz4000, True, bd, be, bf) → LT
new_esEs25(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs28(ywz5001, ywz4001, app(app(ty_Either, bfb), bfc)) → new_esEs4(ywz5001, ywz4001, bfb, bfc)
new_esEs23(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(ty_Maybe, baa)) → new_esEs7(ywz5000, ywz4000, baa)
new_esEs21(ywz5001, ywz4001, app(ty_[], bbb)) → new_esEs8(ywz5001, ywz4001, bbb)
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_compare26(ywz5000, ywz4000, False, eg, eh) → new_compare111(ywz5000, ywz4000, new_ltEs5(ywz5000, ywz4000, eg, eh), eg, eh)
new_esEs28(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_ltEs12(Nothing, Just(ywz4000), bg) → True
new_esEs30(ywz500, ywz400, app(ty_[], dc)) → new_esEs8(ywz500, ywz400, dc)
new_ltEs17(GT, GT) → True
new_ltEs19(ywz5002, ywz4002, ty_@0) → new_ltEs14(ywz5002, ywz4002)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(ty_Either, ca), cb)) → new_esEs4(ywz5000, ywz4000, ca, cb)
new_esEs24(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_ltEs17(GT, EQ) → False
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(ty_Ratio, hh)) → new_esEs11(ywz5000, ywz4000, hh)
new_esEs22(ywz5002, ywz4002, ty_Bool) → new_esEs15(ywz5002, ywz4002)
new_lt13(ywz5001, ywz4001, app(app(app(ty_@3, bbg), bbh), bca)) → new_lt16(ywz5001, ywz4001, bbg, bbh, bca)
new_esEs28(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_lt20(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_lt16(ywz5000, ywz4000, bed, bee, bef)
new_esEs18(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Float) → new_ltEs10(ywz5001, ywz4001)
new_lt16(ywz5000, ywz4000, bd, be, bf) → new_esEs16(new_compare5(ywz5000, ywz4000, bd, be, bf), LT)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs10(ywz5000, ywz4000)
new_compare11(ywz5000, ywz4000, False) → GT
new_esEs30(ywz500, ywz400, app(app(ty_@2, fg), fh)) → new_esEs6(ywz500, ywz400, fg, fh)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Bool) → new_ltEs15(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_Ordering) → new_ltEs17(ywz500, ywz400)
new_compare11(ywz5000, ywz4000, True) → LT
new_esEs22(ywz5002, ywz4002, ty_@0) → new_esEs14(ywz5002, ywz4002)
new_esEs25(ywz5000, ywz4000, app(app(app(ty_@3, ea), eb), ec)) → new_esEs5(ywz5000, ywz4000, ea, eb, ec)
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat0(ywz4000, ywz50000)
new_compare28(ywz5000, ywz4000, False, ga, gb) → new_compare113(ywz5000, ywz4000, new_ltEs16(ywz5000, ywz4000, ga, gb), ga, gb)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(app(ty_@2, bae), baf)) → new_ltEs16(ywz5000, ywz4000, bae, baf)
new_lt13(ywz5001, ywz4001, ty_Bool) → new_lt17(ywz5001, ywz4001)
new_lt6(ywz5000, ywz4000) → new_esEs16(new_compare8(ywz5000, ywz4000), LT)
new_esEs28(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_compare112(ywz95, ywz96, False, bdf) → GT
new_compare27(ywz50, ywz40, True, h) → EQ
new_esEs22(ywz5002, ywz4002, ty_Float) → new_esEs10(ywz5002, ywz4002)
new_lt14(ywz5000, ywz4000, ty_@0) → new_lt7(ywz5000, ywz4000)
new_esEs28(ywz5001, ywz4001, app(ty_Ratio, bfd)) → new_esEs11(ywz5001, ywz4001, bfd)
new_esEs26(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_esEs11(ywz5000, ywz4000, beb)
new_esEs28(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Char) → new_ltEs6(ywz5001, ywz4001)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_compare15(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, ty_Int) → new_compare7(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(ty_Maybe, baa)) → new_ltEs12(ywz5000, ywz4000, baa)
new_compare0([], :(ywz4000, ywz4001), dc) → LT
new_compare111(ywz5000, ywz4000, True, eg, eh) → LT
new_primPlusNat1(Zero, Zero) → Zero
new_ltEs19(ywz5002, ywz4002, app(app(ty_@2, bdd), bde)) → new_ltEs16(ywz5002, ywz4002, bdd, bde)
new_esEs26(ywz5000, ywz4000, app(app(ty_Either, bdh), bea)) → new_esEs4(ywz5000, ywz4000, bdh, bea)
new_asAs(True, ywz102) → ywz102
new_primMulNat0(Succ(ywz500100), Succ(ywz400100)) → new_primPlusNat0(new_primMulNat0(ywz500100, Succ(ywz400100)), ywz400100)
new_esEs26(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_esEs5(ywz5000, ywz4000, bed, bee, bef)
new_ltEs17(LT, EQ) → True
new_esEs4(Left(ywz5000), Right(ywz4000), fa, fb) → False
new_esEs4(Right(ywz5000), Left(ywz4000), fa, fb) → False
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Int) → new_ltEs9(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Nothing, bg) → False
new_lt20(ywz5000, ywz4000, ty_Bool) → new_lt17(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Char) → new_lt15(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_Maybe, dh)) → new_compare13(ywz5000, ywz4000, dh)
new_compare24(ywz5000, ywz4000, False, bd, be, bf) → new_compare110(ywz5000, ywz4000, new_ltEs4(ywz5000, ywz4000, bd, be, bf), bd, be, bf)
new_ltEs19(ywz5002, ywz4002, ty_Integer) → new_ltEs13(ywz5002, ywz4002)
new_esEs26(ywz5000, ywz4000, app(app(ty_@2, beg), beh)) → new_esEs6(ywz5000, ywz4000, beg, beh)
new_esEs23(ywz5000, ywz4000, app(app(app(ty_@3, bd), be), bf)) → new_esEs5(ywz5000, ywz4000, bd, be, bf)
new_lt4(ywz5000, ywz4000, ga, gb) → new_esEs16(new_compare18(ywz5000, ywz4000, ga, gb), LT)
new_ltEs7(ywz500, ywz400, app(app(app(ty_@3, fc), fd), ff)) → new_ltEs4(ywz500, ywz400, fc, fd, ff)
new_compare10(ywz5000, ywz4000, True) → LT
new_esEs9(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_esEs30(ywz500, ywz400, app(app(app(ty_@3, fc), fd), ff)) → new_esEs5(ywz500, ywz400, fc, fd, ff)
new_ltEs17(EQ, GT) → True
new_compare110(ywz5000, ywz4000, False, bd, be, bf) → GT
new_compare10(ywz5000, ywz4000, False) → GT
new_ltEs20(ywz5001, ywz4001, app(app(ty_@2, bga), bgb)) → new_ltEs16(ywz5001, ywz4001, bga, bgb)
new_primCompAux00(ywz280, GT) → GT
new_esEs4(Left(ywz5000), Left(ywz4000), ty_@0, fb) → new_esEs14(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bbe)) → new_esEs11(ywz5001, ywz4001, bbe)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, gh), ha), hb), fb) → new_ltEs4(ywz5000, ywz4000, gh, ha, hb)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs8([], :(ywz4000, ywz4001), dc) → False
new_esEs8(:(ywz5000, ywz5001), [], dc) → False
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Integer) → new_ltEs13(ywz5000, ywz4000)
new_ltEs20(ywz5001, ywz4001, app(app(ty_Either, bfb), bfc)) → new_ltEs5(ywz5001, ywz4001, bfb, bfc)
new_esEs22(ywz5002, ywz4002, app(ty_Ratio, bcg)) → new_esEs11(ywz5002, ywz4002, bcg)
new_esEs6(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), fg, fh) → new_asAs(new_esEs27(ywz5000, ywz4000, fg), new_esEs28(ywz5001, ywz4001, fh))
new_esEs28(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat2(ywz50000, ywz4000)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs22(ywz5002, ywz4002, app(ty_Maybe, bch)) → new_esEs7(ywz5002, ywz4002, bch)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_not(True) → False
new_ltEs7(ywz500, ywz400, app(ty_Maybe, bg)) → new_ltEs12(ywz500, ywz400, bg)
new_esEs15(False, False) → True

The set Q consists of the following terms:

new_esEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_sr(x0, x1)
new_lt13(x0, x1, ty_@0)
new_esEs7(Just(x0), Just(x1), app(ty_Maybe, x2))
new_lt13(x0, x1, app(ty_[], x2))
new_esEs20(x0, x1, ty_Double)
new_lt14(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs7(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), ty_Int, x2)
new_compare25(Double(x0, x1), Double(x2, x3))
new_esEs24(x0, x1, ty_Ordering)
new_esEs28(x0, x1, ty_Int)
new_lt14(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(x0, x1, ty_Bool)
new_primCmpNat1(Zero, Succ(x0))
new_esEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs30(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Int)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs24(x0, x1, ty_Bool)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_compare0(:(x0, x1), :(x2, x3), x4)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs7(x0, x1, ty_@0)
new_ltEs12(Just(x0), Nothing, x1)
new_esEs27(x0, x1, ty_Bool)
new_esEs8(:(x0, x1), :(x2, x3), x4)
new_primPlusNat1(Succ(x0), Zero)
new_esEs15(True, True)
new_lt13(x0, x1, app(ty_Ratio, x2))
new_ltEs17(EQ, GT)
new_ltEs17(GT, EQ)
new_primMulNat0(Succ(x0), Zero)
new_ltEs7(x0, x1, ty_Integer)
new_primPlusNat0(Succ(x0), x1)
new_compare6(x0, x1, ty_Int)
new_esEs13(Integer(x0), Integer(x1))
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs5(Right(x0), Right(x1), x2, ty_Double)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_esEs4(Left(x0), Left(x1), ty_Integer, x2)
new_primCompAux0(x0, x1, x2, x3)
new_ltEs15(True, True)
new_ltEs19(x0, x1, ty_Ordering)
new_compare27(Just(x0), Just(x1), False, x2)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, ty_Float)
new_esEs7(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt19(x0, x1)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_compare24(x0, x1, True, x2, x3, x4)
new_esEs30(x0, x1, ty_Ordering)
new_ltEs14(x0, x1)
new_esEs30(x0, x1, ty_Int)
new_esEs15(False, False)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_lt8(x0, x1)
new_esEs20(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs18(x0, x1, ty_Int)
new_ltEs15(False, False)
new_compare113(x0, x1, False, x2, x3)
new_ltEs19(x0, x1, ty_Double)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs16(LT, GT)
new_esEs16(GT, LT)
new_esEs4(Left(x0), Left(x1), ty_Float, x2)
new_esEs28(x0, x1, ty_@0)
new_compare6(x0, x1, ty_Float)
new_ltEs5(Right(x0), Right(x1), x2, ty_Char)
new_ltEs20(x0, x1, ty_@0)
new_esEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_compare28(x0, x1, False, x2, x3)
new_lt20(x0, x1, ty_Int)
new_primEqNat0(Succ(x0), Succ(x1))
new_primCmpNat0(Zero, x0)
new_pePe(True, x0)
new_ltEs5(Left(x0), Left(x1), ty_Bool, x2)
new_compare110(x0, x1, True, x2, x3, x4)
new_esEs23(x0, x1, ty_Double)
new_ltEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt20(x0, x1, ty_Integer)
new_esEs9(x0, x1)
new_compare7(x0, x1)
new_ltEs19(x0, x1, ty_Float)
new_esEs5(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Float)
new_ltEs12(Just(x0), Just(x1), app(ty_[], x2))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_compare5(x0, x1, x2, x3, x4)
new_compare210(x0, x1, False)
new_ltEs7(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpNat1(Zero, Zero)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt14(x0, x1, app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), ty_Float)
new_esEs23(x0, x1, ty_Integer)
new_compare9(x0, x1, x2, x3)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_ltEs20(x0, x1, ty_Double)
new_ltEs7(x0, x1, app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_compare13(x0, x1, x2)
new_ltEs5(Right(x0), Right(x1), x2, ty_@0)
new_esEs7(Just(x0), Just(x1), app(ty_[], x2))
new_compare27(Nothing, Nothing, False, x0)
new_lt13(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, ty_Float)
new_esEs4(Left(x0), Left(x1), ty_Bool, x2)
new_lt9(x0, x1, x2)
new_esEs7(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs10(Float(x0, x1), Float(x2, x3))
new_primEqNat0(Zero, Zero)
new_esEs24(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, ty_Int)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_lt14(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_primCompAux00(x0, GT)
new_compare27(Nothing, Just(x0), False, x1)
new_compare10(x0, x1, False)
new_ltEs5(Left(x0), Left(x1), ty_Integer, x2)
new_primCompAux00(x0, EQ)
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_primMulNat0(Zero, Zero)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_compare6(x0, x1, ty_Integer)
new_lt20(x0, x1, ty_@0)
new_esEs30(x0, x1, ty_Char)
new_ltEs5(Right(x0), Right(x1), x2, ty_Bool)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_ltEs5(Left(x0), Left(x1), ty_Char, x2)
new_esEs28(x0, x1, ty_Char)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_esEs4(Left(x0), Left(x1), ty_Double, x2)
new_compare19(x0, x1)
new_esEs25(x0, x1, ty_Int)
new_compare8(Float(x0, x1), Float(x2, x3))
new_esEs7(Nothing, Just(x0), x1)
new_esEs16(GT, GT)
new_esEs25(x0, x1, ty_Char)
new_lt13(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_ltEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(Just(x0), Just(x1), ty_Integer)
new_ltEs16(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_lt13(x0, x1, ty_Double)
new_esEs14(@0, @0)
new_ltEs18(x0, x1)
new_compare27(Just(x0), Nothing, False, x1)
new_primMulInt(Neg(x0), Neg(x1))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Float)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs24(x0, x1, ty_Char)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_esEs7(Just(x0), Just(x1), ty_Ordering)
new_ltEs20(x0, x1, ty_Integer)
new_ltEs8(x0, x1, x2)
new_compare12(:%(x0, x1), :%(x2, x3), ty_Integer)
new_lt5(x0, x1, x2)
new_esEs21(x0, x1, ty_Double)
new_esEs22(x0, x1, ty_@0)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs12(Nothing, Just(x0), x1)
new_lt14(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8(:(x0, x1), [], x2)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare16(@0, @0)
new_esEs4(Right(x0), Right(x1), x2, ty_Int)
new_esEs20(x0, x1, ty_@0)
new_pePe(False, x0)
new_ltEs7(x0, x1, ty_Double)
new_compare28(x0, x1, True, x2, x3)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs21(x0, x1, ty_Integer)
new_esEs30(x0, x1, ty_Bool)
new_esEs22(x0, x1, ty_Double)
new_ltEs19(x0, x1, ty_Char)
new_esEs19(x0, x1, ty_Int)
new_compare29(x0, x1, True)
new_compare15(Integer(x0), Integer(x1))
new_compare29(x0, x1, False)
new_ltEs4(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt16(x0, x1, x2, x3, x4)
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpNat2(x0, Zero)
new_compare6(x0, x1, ty_@0)
new_compare113(x0, x1, True, x2, x3)
new_primPlusNat1(Zero, Zero)
new_ltEs9(x0, x1)
new_compare27(x0, x1, True, x2)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_compare6(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs21(x0, x1, ty_Ordering)
new_esEs24(x0, x1, ty_Integer)
new_ltEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(x0, x1, ty_Char)
new_ltEs19(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs28(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_compare0([], :(x0, x1), x2)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs19(x0, x1, ty_Bool)
new_ltEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs26(x0, x1, ty_Bool)
new_primCompAux00(x0, LT)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_lt20(x0, x1, ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt10(x0, x1)
new_lt4(x0, x1, x2, x3)
new_lt11(x0, x1, x2)
new_ltEs7(x0, x1, ty_Bool)
new_lt14(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_@0)
new_compare26(x0, x1, True, x2, x3)
new_esEs26(x0, x1, ty_Integer)
new_ltEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_lt15(x0, x1)
new_ltEs7(x0, x1, app(ty_Maybe, x2))
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(Left(x0), Right(x1), x2, x3)
new_ltEs5(Right(x0), Left(x1), x2, x3)
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Ordering)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt14(x0, x1, app(ty_Maybe, x2))
new_compare111(x0, x1, True, x2, x3)
new_ltEs15(False, True)
new_ltEs15(True, False)
new_ltEs17(GT, GT)
new_lt14(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Int)
new_lt14(x0, x1, ty_Bool)
new_esEs25(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_compare110(x0, x1, False, x2, x3, x4)
new_esEs4(Right(x0), Right(x1), x2, ty_Integer)
new_esEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_compare210(x0, x1, True)
new_esEs20(x0, x1, ty_Int)
new_esEs7(Just(x0), Just(x1), ty_Float)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Double)
new_esEs22(x0, x1, ty_Int)
new_ltEs7(x0, x1, ty_Int)
new_ltEs12(Just(x0), Just(x1), ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, ty_Float)
new_lt18(x0, x1)
new_lt13(x0, x1, app(ty_Maybe, x2))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Zero, Succ(x0))
new_esEs15(True, False)
new_esEs15(False, True)
new_esEs7(Just(x0), Just(x1), ty_Int)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, ty_Bool)
new_esEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs4(Right(x0), Right(x1), x2, ty_Char)
new_ltEs7(x0, x1, ty_Char)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt17(x0, x1)
new_asAs(True, x0)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs7(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Char)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs16(LT, LT)
new_compare17(x0, x1)
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_lt13(x0, x1, ty_Integer)
new_esEs7(Just(x0), Just(x1), ty_Char)
new_esEs26(x0, x1, ty_Ordering)
new_esEs18(x0, x1, ty_Integer)
new_sr0(Integer(x0), Integer(x1))
new_esEs28(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_esEs4(Left(x0), Right(x1), x2, x3)
new_esEs4(Right(x0), Left(x1), x2, x3)
new_ltEs10(x0, x1)
new_esEs22(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_Float)
new_lt12(x0, x1, x2, x3)
new_compare10(x0, x1, True)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, ty_@0)
new_ltEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt6(x0, x1)
new_esEs25(x0, x1, app(ty_[], x2))
new_ltEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_lt13(x0, x1, ty_Bool)
new_ltEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs20(x0, x1, ty_Ordering)
new_lt14(x0, x1, ty_Integer)
new_ltEs11(x0, x1, x2)
new_ltEs12(Just(x0), Just(x1), ty_Double)
new_esEs26(x0, x1, app(ty_[], x2))
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_compare6(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8([], [], x0)
new_compare112(x0, x1, True, x2)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_asAs(False, x0)
new_compare6(x0, x1, app(ty_Maybe, x2))
new_lt13(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_@0)
new_primPlusNat1(Zero, Succ(x0))
new_compare6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), ty_@0, x2)
new_esEs4(Left(x0), Left(x1), ty_Char, x2)
new_compare6(x0, x1, ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, ty_Integer)
new_esEs7(Just(x0), Just(x1), ty_Integer)
new_ltEs5(Left(x0), Left(x1), ty_Float, x2)
new_compare14(Char(x0), Char(x1))
new_lt13(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs17(LT, GT)
new_ltEs17(GT, LT)
new_ltEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs23(x0, x1, ty_Float)
new_ltEs20(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_[], x2))
new_esEs12(Char(x0), Char(x1))
new_esEs23(x0, x1, ty_Char)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs28(x0, x1, ty_Ordering)
new_esEs4(Right(x0), Right(x1), x2, ty_@0)
new_esEs7(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Char)
new_compare0(:(x0, x1), [], x2)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs27(x0, x1, ty_Int)
new_esEs17(Double(x0, x1), Double(x2, x3))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, app(ty_[], x2))
new_primCmpNat1(Succ(x0), Zero)
new_ltEs12(Just(x0), Just(x1), ty_Bool)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_compare6(x0, x1, ty_Double)
new_esEs7(Nothing, Nothing, x0)
new_ltEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Double)
new_compare24(x0, x1, False, x2, x3, x4)
new_primCmpNat1(Succ(x0), Succ(x1))
new_primPlusNat1(Succ(x0), Succ(x1))
new_ltEs12(Just(x0), Just(x1), ty_Char)
new_esEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs7(Just(x0), Just(x1), ty_Double)
new_ltEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_compare26(x0, x1, False, x2, x3)
new_ltEs7(x0, x1, ty_Float)
new_not(True)
new_esEs7(Just(x0), Just(x1), ty_Bool)
new_esEs24(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Char)
new_compare6(x0, x1, app(ty_[], x2))
new_esEs16(EQ, LT)
new_esEs16(LT, EQ)
new_compare12(:%(x0, x1), :%(x2, x3), ty_Int)
new_esEs21(x0, x1, ty_@0)
new_primCmpNat0(Succ(x0), x1)
new_esEs16(EQ, EQ)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Double)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_ltEs19(x0, x1, ty_Int)
new_not(False)
new_esEs6(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs25(x0, x1, ty_Integer)
new_ltEs12(Just(x0), Just(x1), ty_@0)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Int)
new_esEs23(x0, x1, ty_Ordering)
new_esEs26(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), ty_@0, x2)
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Bool)
new_primMulNat0(Succ(x0), Succ(x1))
new_lt14(x0, x1, ty_@0)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(x0, x1, ty_Float)
new_ltEs13(x0, x1)
new_esEs4(Right(x0), Right(x1), x2, ty_Float)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_lt14(x0, x1, ty_Ordering)
new_compare6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs16(EQ, GT)
new_esEs16(GT, EQ)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt7(x0, x1)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare18(x0, x1, x2, x3)
new_ltEs5(Right(x0), Right(x1), x2, ty_Int)
new_ltEs17(LT, EQ)
new_compare111(x0, x1, False, x2, x3)
new_ltEs17(EQ, LT)
new_esEs7(Just(x0), Nothing, x1)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_lt14(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Integer)
new_esEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs30(x0, x1, ty_Integer)
new_esEs30(x0, x1, ty_Float)
new_esEs23(x0, x1, ty_Int)
new_compare112(x0, x1, False, x2)
new_esEs26(x0, x1, ty_@0)
new_ltEs5(Left(x0), Left(x1), ty_Int, x2)
new_esEs7(Just(x0), Just(x1), ty_@0)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs12(Nothing, Nothing, x0)
new_ltEs6(x0, x1)
new_ltEs12(Just(x0), Just(x1), ty_Int)
new_esEs19(x0, x1, ty_Integer)
new_compare0([], [], x0)
new_esEs24(x0, x1, ty_Double)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_lt14(x0, x1, ty_Double)
new_ltEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs23(x0, x1, ty_Bool)
new_esEs8([], :(x0, x1), x2)
new_ltEs19(x0, x1, ty_Integer)
new_primPlusNat0(Zero, x0)
new_primEqNat0(Zero, Succ(x0))
new_esEs25(x0, x1, ty_Double)
new_esEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs5(Left(x0), Left(x1), ty_Double, x2)
new_primCmpNat2(x0, Succ(x1))
new_esEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs11(:%(x0, x1), :%(x2, x3), x4)
new_esEs22(x0, x1, ty_Integer)
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_lt13(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_lt13(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare11(x0, x1, False)
new_esEs20(x0, x1, ty_Char)
new_ltEs17(EQ, EQ)
new_esEs22(x0, x1, ty_Char)
new_ltEs17(LT, LT)
new_esEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Bool)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_compare11(x0, x1, True)
new_esEs7(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Bool)
new_lt13(x0, x1, ty_Ordering)
new_esEs20(x0, x1, app(ty_Ratio, x2))

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ AND
                                        ↳ QDP
                                          ↳ UsableRulesProof
QDP
                                              ↳ QReductionProof
                                        ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_splitLT(Branch(ywz430, ywz431, ywz432, ywz433, ywz434), h, ba) → new_splitLT3(ywz430, ywz431, ywz432, ywz433, ywz434, Nothing, h, ba)
new_splitLT3(Just(ywz400), ywz41, ywz42, ywz43, ywz44, Nothing, h, ba) → new_splitLT2(ywz400, ywz41, ywz42, ywz43, ywz44, new_esEs16(new_compare27(Nothing, Just(ywz400), False, h), LT), h, ba)
new_splitLT2(ywz400, ywz41, ywz42, Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz44, True, h, ba) → new_splitLT3(ywz430, ywz431, ywz432, ywz433, ywz434, Nothing, h, ba)
new_splitLT1(ywz41, ywz42, ywz43, ywz44, True, h, ba) → new_splitLT(ywz44, h, ba)
new_splitLT3(Nothing, ywz41, ywz42, ywz43, ywz44, Nothing, h, ba) → new_splitLT1(ywz41, ywz42, ywz43, ywz44, new_esEs16(new_compare13(Nothing, Nothing, h), GT), h, ba)
new_splitLT10(ywz400, ywz41, ywz42, ywz43, ywz44, True, h, ba) → new_splitLT(ywz44, h, ba)
new_splitLT2(ywz400, ywz41, ywz42, ywz43, ywz44, False, h, ba) → new_splitLT10(ywz400, ywz41, ywz42, ywz43, ywz44, new_esEs16(new_compare13(Nothing, Just(ywz400), h), GT), h, ba)

The TRS R consists of the following rules:

new_compare13(ywz50, ywz40, h) → new_compare27(ywz50, ywz40, new_esEs7(ywz50, ywz40, h), h)
new_esEs16(EQ, GT) → False
new_esEs16(LT, GT) → False
new_esEs16(GT, GT) → True
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_[], bh)) → new_esEs8(ywz5000, ywz4000, bh)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_Ratio, cc)) → new_esEs11(ywz5000, ywz4000, cc)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(ty_@2, da), db)) → new_esEs6(ywz5000, ywz4000, da, db)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs7(Nothing, Nothing, bg) → True
new_esEs7(Just(ywz5000), Nothing, bg) → False
new_esEs7(Nothing, Just(ywz4000), bg) → False
new_esEs7(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, ce), cf), cg)) → new_esEs5(ywz5000, ywz4000, ce, cf, cg)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(ty_Either, ca), cb)) → new_esEs4(ywz5000, ywz4000, ca, cb)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(ty_Maybe, baa)) → new_esEs7(ywz5000, ywz4000, baa)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_Maybe, cd)) → new_esEs7(ywz5000, ywz4000, cd)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(app(ty_Either, hf), hg)) → new_esEs4(ywz5000, ywz4000, hf, hg)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(ty_Either, gd), ge), fb) → new_esEs4(ywz5000, ywz4000, gd, ge)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_Maybe, gg), fb) → new_esEs7(ywz5000, ywz4000, gg)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs10(ywz5000, ywz4000)
new_compare27(Just(ywz500), Just(ywz400), False, h) → new_compare112(ywz500, ywz400, new_ltEs7(ywz500, ywz400, h), h)
new_compare27(Nothing, Just(ywz400), False, h) → LT
new_compare27(Just(ywz500), Nothing, False, h) → GT
new_compare27(Nothing, Nothing, False, h) → LT
new_compare27(ywz50, ywz40, True, h) → EQ
new_ltEs7(ywz500, ywz400, app(ty_Ratio, ef)) → new_ltEs11(ywz500, ywz400, ef)
new_ltEs7(ywz500, ywz400, app(ty_[], dc)) → new_ltEs8(ywz500, ywz400, dc)
new_ltEs7(ywz500, ywz400, ty_Char) → new_ltEs6(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, ty_Double) → new_ltEs18(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, ty_Integer) → new_ltEs13(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, ty_@0) → new_ltEs14(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, app(app(ty_@2, fg), fh)) → new_ltEs16(ywz500, ywz400, fg, fh)
new_ltEs7(ywz500, ywz400, ty_Float) → new_ltEs10(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, ty_Bool) → new_ltEs15(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, app(app(ty_Either, fa), fb)) → new_ltEs5(ywz500, ywz400, fa, fb)
new_ltEs7(ywz500, ywz400, ty_Int) → new_ltEs9(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, ty_Ordering) → new_ltEs17(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, app(app(app(ty_@3, fc), fd), ff)) → new_ltEs4(ywz500, ywz400, fc, fd, ff)
new_ltEs7(ywz500, ywz400, app(ty_Maybe, bg)) → new_ltEs12(ywz500, ywz400, bg)
new_compare112(ywz95, ywz96, True, bdf) → LT
new_compare112(ywz95, ywz96, False, bdf) → GT
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Double) → new_ltEs18(ywz5000, ywz4000)
new_ltEs12(Nothing, Nothing, bg) → True
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Integer) → new_ltEs13(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_Ratio, cc)) → new_ltEs11(ywz5000, ywz4000, cc)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(ty_@2, da), db)) → new_ltEs16(ywz5000, ywz4000, da, db)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_[], bh)) → new_ltEs8(ywz5000, ywz4000, bh)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Float) → new_ltEs10(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_@0) → new_ltEs14(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_ltEs17(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, ce), cf), cg)) → new_ltEs4(ywz5000, ywz4000, ce, cf, cg)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Char) → new_ltEs6(ywz5000, ywz4000)
new_ltEs12(Nothing, Just(ywz4000), bg) → True
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Bool) → new_ltEs15(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Int) → new_ltEs9(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Nothing, bg) → False
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_Maybe, gg), fb) → new_ltEs12(ywz5000, ywz4000, gg)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(ty_Either, gd), ge), fb) → new_ltEs5(ywz5000, ywz4000, gd, ge)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_Maybe, cd)) → new_ltEs12(ywz5000, ywz4000, cd)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(ty_Either, ca), cb)) → new_ltEs5(ywz5000, ywz4000, ca, cb)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(app(ty_Either, hf), hg)) → new_ltEs5(ywz5000, ywz4000, hf, hg)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(ty_Maybe, baa)) → new_ltEs12(ywz5000, ywz4000, baa)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(ty_@2, hc), hd), fb) → new_ltEs16(ywz5000, ywz4000, hc, hd)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Int) → new_ltEs9(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Int, fb) → new_ltEs9(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(ty_[], he)) → new_ltEs8(ywz5000, ywz4000, he)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Float) → new_ltEs10(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Right(ywz4000), fa, fb) → True
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Float, fb) → new_ltEs10(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Left(ywz4000), fa, fb) → False
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Integer, fb) → new_ltEs13(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Char, fb) → new_ltEs6(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_@0) → new_ltEs14(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_@0, fb) → new_ltEs14(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Ordering, fb) → new_ltEs17(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Ordering) → new_ltEs17(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Char) → new_ltEs6(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_Ratio, gf), fb) → new_ltEs11(ywz5000, ywz4000, gf)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(app(app(ty_@3, bab), bac), bad)) → new_ltEs4(ywz5000, ywz4000, bab, bac, bad)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Bool) → new_ltEs15(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(ty_Ratio, hh)) → new_ltEs11(ywz5000, ywz4000, hh)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Double) → new_ltEs18(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Bool, fb) → new_ltEs15(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_[], gc), fb) → new_ltEs8(ywz5000, ywz4000, gc)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Double, fb) → new_ltEs18(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(app(ty_@2, bae), baf)) → new_ltEs16(ywz5000, ywz4000, bae, baf)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, gh), ha), hb), fb) → new_ltEs4(ywz5000, ywz4000, gh, ha, hb)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Integer) → new_ltEs13(ywz5000, ywz4000)
new_ltEs13(ywz500, ywz400) → new_not(new_esEs16(new_compare15(ywz500, ywz400), GT))
new_compare15(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_not(False) → True
new_not(True) → False
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat0(Zero, ywz40000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat2(ywz40000, Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat0(ywz4000, ywz50000)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat2(ywz50000, ywz4000)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_primCmpNat2(ywz50000, Succ(ywz40000)) → new_primCmpNat1(ywz50000, ywz40000)
new_primCmpNat2(ywz50000, Zero) → GT
new_primCmpNat1(Zero, Succ(ywz400000)) → LT
new_primCmpNat1(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat1(ywz500000, ywz400000)
new_primCmpNat1(Zero, Zero) → EQ
new_primCmpNat1(Succ(ywz500000), Zero) → GT
new_primCmpNat0(Succ(ywz40000), ywz50000) → new_primCmpNat1(ywz40000, ywz50000)
new_primCmpNat0(Zero, ywz50000) → LT
new_ltEs4(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), fc, fd, ff) → new_pePe(new_lt14(ywz5000, ywz4000, fc), new_asAs(new_esEs23(ywz5000, ywz4000, fc), new_pePe(new_lt13(ywz5001, ywz4001, fd), new_asAs(new_esEs24(ywz5001, ywz4001, fd), new_ltEs19(ywz5002, ywz4002, ff)))))
new_lt14(ywz5000, ywz4000, app(app(ty_@2, ga), gb)) → new_lt4(ywz5000, ywz4000, ga, gb)
new_lt14(ywz5000, ywz4000, app(app(ty_Either, eg), eh)) → new_lt12(ywz5000, ywz4000, eg, eh)
new_lt14(ywz5000, ywz4000, ty_Int) → new_lt10(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_lt5(ywz5000, ywz4000, bba)
new_lt14(ywz5000, ywz4000, ty_Char) → new_lt15(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, app(ty_Ratio, bah)) → new_lt11(ywz5000, ywz4000, bah)
new_lt14(ywz5000, ywz4000, ty_Ordering) → new_lt18(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, ty_Double) → new_lt19(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, app(app(app(ty_@3, bd), be), bf)) → new_lt16(ywz5000, ywz4000, bd, be, bf)
new_lt14(ywz5000, ywz4000, ty_Float) → new_lt6(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, ty_Integer) → new_lt8(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, app(ty_[], bag)) → new_lt9(ywz5000, ywz4000, bag)
new_lt14(ywz5000, ywz4000, ty_Bool) → new_lt17(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, ty_@0) → new_lt7(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_esEs7(ywz5000, ywz4000, bba)
new_esEs23(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, app(ty_[], bag)) → new_esEs8(ywz5000, ywz4000, bag)
new_esEs23(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, app(app(ty_@2, ga), gb)) → new_esEs6(ywz5000, ywz4000, ga, gb)
new_esEs23(ywz5000, ywz4000, app(ty_Ratio, bah)) → new_esEs11(ywz5000, ywz4000, bah)
new_esEs23(ywz5000, ywz4000, app(app(ty_Either, eg), eh)) → new_esEs4(ywz5000, ywz4000, eg, eh)
new_esEs23(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, app(app(app(ty_@3, bd), be), bf)) → new_esEs5(ywz5000, ywz4000, bd, be, bf)
new_lt13(ywz5001, ywz4001, ty_@0) → new_lt7(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, ty_Integer) → new_lt8(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, ty_Float) → new_lt6(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, ty_Char) → new_lt15(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, app(ty_Maybe, bbf)) → new_lt5(ywz5001, ywz4001, bbf)
new_lt13(ywz5001, ywz4001, app(ty_[], bbb)) → new_lt9(ywz5001, ywz4001, bbb)
new_lt13(ywz5001, ywz4001, app(app(ty_Either, bbc), bbd)) → new_lt12(ywz5001, ywz4001, bbc, bbd)
new_lt13(ywz5001, ywz4001, ty_Ordering) → new_lt18(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, app(ty_Ratio, bbe)) → new_lt11(ywz5001, ywz4001, bbe)
new_lt13(ywz5001, ywz4001, ty_Double) → new_lt19(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, app(app(ty_@2, bcb), bcc)) → new_lt4(ywz5001, ywz4001, bcb, bcc)
new_lt13(ywz5001, ywz4001, ty_Int) → new_lt10(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, app(app(app(ty_@3, bbg), bbh), bca)) → new_lt16(ywz5001, ywz4001, bbg, bbh, bca)
new_lt13(ywz5001, ywz4001, ty_Bool) → new_lt17(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, app(app(app(ty_@3, bbg), bbh), bca)) → new_esEs5(ywz5001, ywz4001, bbg, bbh, bca)
new_esEs24(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, app(ty_Maybe, bbf)) → new_esEs7(ywz5001, ywz4001, bbf)
new_esEs24(ywz5001, ywz4001, app(app(ty_@2, bcb), bcc)) → new_esEs6(ywz5001, ywz4001, bcb, bcc)
new_esEs24(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, app(ty_Ratio, bbe)) → new_esEs11(ywz5001, ywz4001, bbe)
new_esEs24(ywz5001, ywz4001, app(ty_[], bbb)) → new_esEs8(ywz5001, ywz4001, bbb)
new_esEs24(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, app(app(ty_Either, bbc), bbd)) → new_esEs4(ywz5001, ywz4001, bbc, bbd)
new_esEs24(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_ltEs19(ywz5002, ywz4002, app(ty_[], bcd)) → new_ltEs8(ywz5002, ywz4002, bcd)
new_ltEs19(ywz5002, ywz4002, app(ty_Ratio, bcg)) → new_ltEs11(ywz5002, ywz4002, bcg)
new_ltEs19(ywz5002, ywz4002, app(ty_Maybe, bch)) → new_ltEs12(ywz5002, ywz4002, bch)
new_ltEs19(ywz5002, ywz4002, ty_Char) → new_ltEs6(ywz5002, ywz4002)
new_ltEs19(ywz5002, ywz4002, ty_Float) → new_ltEs10(ywz5002, ywz4002)
new_ltEs19(ywz5002, ywz4002, app(app(app(ty_@3, bda), bdb), bdc)) → new_ltEs4(ywz5002, ywz4002, bda, bdb, bdc)
new_ltEs19(ywz5002, ywz4002, ty_Bool) → new_ltEs15(ywz5002, ywz4002)
new_ltEs19(ywz5002, ywz4002, ty_Ordering) → new_ltEs17(ywz5002, ywz4002)
new_ltEs19(ywz5002, ywz4002, ty_Double) → new_ltEs18(ywz5002, ywz4002)
new_ltEs19(ywz5002, ywz4002, ty_Int) → new_ltEs9(ywz5002, ywz4002)
new_ltEs19(ywz5002, ywz4002, app(app(ty_Either, bce), bcf)) → new_ltEs5(ywz5002, ywz4002, bce, bcf)
new_ltEs19(ywz5002, ywz4002, ty_@0) → new_ltEs14(ywz5002, ywz4002)
new_ltEs19(ywz5002, ywz4002, app(app(ty_@2, bdd), bde)) → new_ltEs16(ywz5002, ywz4002, bdd, bde)
new_ltEs19(ywz5002, ywz4002, ty_Integer) → new_ltEs13(ywz5002, ywz4002)
new_asAs(False, ywz102) → False
new_asAs(True, ywz102) → ywz102
new_pePe(False, ywz175) → ywz175
new_pePe(True, ywz175) → True
new_ltEs16(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), fg, fh) → new_pePe(new_lt20(ywz5000, ywz4000, fg), new_asAs(new_esEs26(ywz5000, ywz4000, fg), new_ltEs20(ywz5001, ywz4001, fh)))
new_lt20(ywz5000, ywz4000, ty_Int) → new_lt10(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_@0) → new_lt7(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Float) → new_lt6(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(ty_Either, bdh), bea)) → new_lt12(ywz5000, ywz4000, bdh, bea)
new_lt20(ywz5000, ywz4000, app(ty_[], bdg)) → new_lt9(ywz5000, ywz4000, bdg)
new_lt20(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_lt11(ywz5000, ywz4000, beb)
new_lt20(ywz5000, ywz4000, ty_Integer) → new_lt8(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_lt5(ywz5000, ywz4000, bec)
new_lt20(ywz5000, ywz4000, app(app(ty_@2, beg), beh)) → new_lt4(ywz5000, ywz4000, beg, beh)
new_lt20(ywz5000, ywz4000, ty_Ordering) → new_lt18(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Double) → new_lt19(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_lt16(ywz5000, ywz4000, bed, bee, bef)
new_lt20(ywz5000, ywz4000, ty_Bool) → new_lt17(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Char) → new_lt15(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, app(ty_[], bdg)) → new_esEs8(ywz5000, ywz4000, bdg)
new_esEs26(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_esEs7(ywz5000, ywz4000, bec)
new_esEs26(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_esEs11(ywz5000, ywz4000, beb)
new_esEs26(ywz5000, ywz4000, app(app(ty_Either, bdh), bea)) → new_esEs4(ywz5000, ywz4000, bdh, bea)
new_esEs26(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_esEs5(ywz5000, ywz4000, bed, bee, bef)
new_esEs26(ywz5000, ywz4000, app(app(ty_@2, beg), beh)) → new_esEs6(ywz5000, ywz4000, beg, beh)
new_ltEs20(ywz5001, ywz4001, ty_Int) → new_ltEs9(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, app(ty_Ratio, bfd)) → new_ltEs11(ywz5001, ywz4001, bfd)
new_ltEs20(ywz5001, ywz4001, app(app(app(ty_@3, bff), bfg), bfh)) → new_ltEs4(ywz5001, ywz4001, bff, bfg, bfh)
new_ltEs20(ywz5001, ywz4001, app(ty_[], bfa)) → new_ltEs8(ywz5001, ywz4001, bfa)
new_ltEs20(ywz5001, ywz4001, app(ty_Maybe, bfe)) → new_ltEs12(ywz5001, ywz4001, bfe)
new_ltEs20(ywz5001, ywz4001, ty_Integer) → new_ltEs13(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_@0) → new_ltEs14(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Double) → new_ltEs18(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Ordering) → new_ltEs17(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Bool) → new_ltEs15(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Float) → new_ltEs10(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Char) → new_ltEs6(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, app(app(ty_@2, bga), bgb)) → new_ltEs16(ywz5001, ywz4001, bga, bgb)
new_ltEs20(ywz5001, ywz4001, app(app(ty_Either, bfb), bfc)) → new_ltEs5(ywz5001, ywz4001, bfb, bfc)
new_ltEs6(ywz500, ywz400) → new_not(new_esEs16(new_compare14(ywz500, ywz400), GT))
new_compare14(Char(ywz5000), Char(ywz4000)) → new_primCmpNat1(ywz5000, ywz4000)
new_ltEs10(ywz500, ywz400) → new_not(new_esEs16(new_compare8(ywz500, ywz400), GT))
new_compare8(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare7(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_sr(ywz5001, ywz4001) → new_primMulInt(ywz5001, ywz4001)
new_compare7(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_primMulInt(Pos(ywz50010), Pos(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Neg(ywz50010), Neg(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Neg(ywz50010), Pos(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Pos(ywz50010), Neg(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(ywz500100), Zero) → Zero
new_primMulNat0(Zero, Succ(ywz400100)) → Zero
new_primMulNat0(Succ(ywz500100), Succ(ywz400100)) → new_primPlusNat0(new_primMulNat0(ywz500100, Succ(ywz400100)), ywz400100)
new_primPlusNat0(Succ(ywz1950), ywz400100) → Succ(Succ(new_primPlusNat1(ywz1950, ywz400100)))
new_primPlusNat0(Zero, ywz400100) → Succ(ywz400100)
new_primPlusNat1(Succ(ywz19500), Zero) → Succ(ywz19500)
new_primPlusNat1(Zero, Succ(ywz4001000)) → Succ(ywz4001000)
new_primPlusNat1(Succ(ywz19500), Succ(ywz4001000)) → Succ(Succ(new_primPlusNat1(ywz19500, ywz4001000)))
new_primPlusNat1(Zero, Zero) → Zero
new_ltEs15(True, False) → False
new_ltEs15(True, True) → True
new_ltEs15(False, True) → True
new_ltEs15(False, False) → True
new_ltEs17(LT, LT) → True
new_ltEs17(EQ, LT) → False
new_ltEs17(GT, LT) → False
new_ltEs17(LT, GT) → True
new_ltEs17(EQ, EQ) → True
new_ltEs17(GT, GT) → True
new_ltEs17(GT, EQ) → False
new_ltEs17(LT, EQ) → True
new_ltEs17(EQ, GT) → True
new_ltEs18(ywz500, ywz400) → new_not(new_esEs16(new_compare25(ywz500, ywz400), GT))
new_compare25(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare7(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs14(ywz500, ywz400) → new_not(new_esEs16(new_compare16(ywz500, ywz400), GT))
new_compare16(@0, @0) → EQ
new_ltEs8(ywz500, ywz400, dc) → new_not(new_esEs16(new_compare0(ywz500, ywz400, dc), GT))
new_compare0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), dc) → new_primCompAux0(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, dc), dc)
new_compare0([], [], dc) → EQ
new_compare0(:(ywz5000, ywz5001), [], dc) → GT
new_compare0([], :(ywz4000, ywz4001), dc) → LT
new_primCompAux0(ywz5000, ywz4000, ywz228, dc) → new_primCompAux00(ywz228, new_compare6(ywz5000, ywz4000, dc))
new_compare6(ywz5000, ywz4000, ty_Double) → new_compare25(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(app(ty_@2, ed), ee)) → new_compare18(ywz5000, ywz4000, ed, ee)
new_compare6(ywz5000, ywz4000, app(ty_[], dd)) → new_compare0(ywz5000, ywz4000, dd)
new_compare6(ywz5000, ywz4000, ty_Integer) → new_compare15(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, ty_@0) → new_compare16(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, ty_Bool) → new_compare17(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_Ratio, dg)) → new_compare12(ywz5000, ywz4000, dg)
new_compare6(ywz5000, ywz4000, ty_Char) → new_compare14(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(app(ty_Either, de), df)) → new_compare9(ywz5000, ywz4000, de, df)
new_compare6(ywz5000, ywz4000, ty_Float) → new_compare8(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(app(app(ty_@3, ea), eb), ec)) → new_compare5(ywz5000, ywz4000, ea, eb, ec)
new_compare6(ywz5000, ywz4000, ty_Ordering) → new_compare19(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, ty_Int) → new_compare7(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_Maybe, dh)) → new_compare13(ywz5000, ywz4000, dh)
new_primCompAux00(ywz280, LT) → LT
new_primCompAux00(ywz280, EQ) → ywz280
new_primCompAux00(ywz280, GT) → GT
new_compare19(ywz5000, ywz4000) → new_compare29(ywz5000, ywz4000, new_esEs16(ywz5000, ywz4000))
new_esEs16(GT, EQ) → False
new_esEs16(GT, LT) → False
new_esEs16(LT, EQ) → False
new_esEs16(EQ, LT) → False
new_esEs16(EQ, EQ) → True
new_esEs16(LT, LT) → True
new_compare29(ywz5000, ywz4000, True) → EQ
new_compare29(ywz5000, ywz4000, False) → new_compare11(ywz5000, ywz4000, new_ltEs17(ywz5000, ywz4000))
new_compare11(ywz5000, ywz4000, False) → GT
new_compare11(ywz5000, ywz4000, True) → LT
new_compare5(ywz5000, ywz4000, bd, be, bf) → new_compare24(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bd, be, bf), bd, be, bf)
new_esEs5(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), fc, fd, ff) → new_asAs(new_esEs20(ywz5000, ywz4000, fc), new_asAs(new_esEs21(ywz5001, ywz4001, fd), new_esEs22(ywz5002, ywz4002, ff)))
new_compare24(ywz5000, ywz4000, True, bd, be, bf) → EQ
new_compare24(ywz5000, ywz4000, False, bd, be, bf) → new_compare110(ywz5000, ywz4000, new_ltEs4(ywz5000, ywz4000, bd, be, bf), bd, be, bf)
new_compare110(ywz5000, ywz4000, True, bd, be, bf) → LT
new_compare110(ywz5000, ywz4000, False, bd, be, bf) → GT
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_esEs7(ywz5000, ywz4000, bba)
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, eg), eh)) → new_esEs4(ywz5000, ywz4000, eg, eh)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, ga), gb)) → new_esEs6(ywz5000, ywz4000, ga, gb)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_[], bag)) → new_esEs8(ywz5000, ywz4000, bag)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, bah)) → new_esEs11(ywz5000, ywz4000, bah)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, bd), be), bf)) → new_esEs5(ywz5000, ywz4000, bd, be, bf)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, bcb), bcc)) → new_esEs6(ywz5001, ywz4001, bcb, bcc)
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bbc), bbd)) → new_esEs4(ywz5001, ywz4001, bbc, bbd)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bbg), bbh), bca)) → new_esEs5(ywz5001, ywz4001, bbg, bbh, bca)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bbf)) → new_esEs7(ywz5001, ywz4001, bbf)
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_[], bbb)) → new_esEs8(ywz5001, ywz4001, bbb)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bbe)) → new_esEs11(ywz5001, ywz4001, bbe)
new_esEs22(ywz5002, ywz4002, ty_Double) → new_esEs17(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, ty_Char) → new_esEs12(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, app(ty_[], bcd)) → new_esEs8(ywz5002, ywz4002, bcd)
new_esEs22(ywz5002, ywz4002, app(app(ty_Either, bce), bcf)) → new_esEs4(ywz5002, ywz4002, bce, bcf)
new_esEs22(ywz5002, ywz4002, app(app(app(ty_@3, bda), bdb), bdc)) → new_esEs5(ywz5002, ywz4002, bda, bdb, bdc)
new_esEs22(ywz5002, ywz4002, ty_Integer) → new_esEs13(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, app(app(ty_@2, bdd), bde)) → new_esEs6(ywz5002, ywz4002, bdd, bde)
new_esEs22(ywz5002, ywz4002, ty_Int) → new_esEs9(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, ty_Ordering) → new_esEs16(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, ty_Bool) → new_esEs15(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, ty_@0) → new_esEs14(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, ty_Float) → new_esEs10(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, app(ty_Ratio, bcg)) → new_esEs11(ywz5002, ywz4002, bcg)
new_esEs22(ywz5002, ywz4002, app(ty_Maybe, bch)) → new_esEs7(ywz5002, ywz4002, bch)
new_esEs11(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ef) → new_asAs(new_esEs18(ywz5000, ywz4000, ef), new_esEs19(ywz5001, ywz4001, ef))
new_esEs18(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs18(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs19(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_esEs19(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs13(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_primEqNat0(Succ(ywz50000), Zero) → False
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_esEs9(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_esEs10(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs9(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs14(@0, @0) → True
new_esEs15(True, False) → False
new_esEs15(False, True) → False
new_esEs15(True, True) → True
new_esEs15(False, False) → True
new_esEs6(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), fg, fh) → new_asAs(new_esEs27(ywz5000, ywz4000, fg), new_esEs28(ywz5001, ywz4001, fh))
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_esEs7(ywz5000, ywz4000, bec)
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_[], bdg)) → new_esEs8(ywz5000, ywz4000, bdg)
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_esEs5(ywz5000, ywz4000, bed, bee, bef)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_esEs11(ywz5000, ywz4000, beb)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, beg), beh)) → new_esEs6(ywz5000, ywz4000, beg, beh)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, bdh), bea)) → new_esEs4(ywz5000, ywz4000, bdh, bea)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs28(ywz5001, ywz4001, app(app(app(ty_@3, bff), bfg), bfh)) → new_esEs5(ywz5001, ywz4001, bff, bfg, bfh)
new_esEs28(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, app(ty_[], bfa)) → new_esEs8(ywz5001, ywz4001, bfa)
new_esEs28(ywz5001, ywz4001, app(ty_Maybe, bfe)) → new_esEs7(ywz5001, ywz4001, bfe)
new_esEs28(ywz5001, ywz4001, app(app(ty_@2, bga), bgb)) → new_esEs6(ywz5001, ywz4001, bga, bgb)
new_esEs28(ywz5001, ywz4001, app(app(ty_Either, bfb), bfc)) → new_esEs4(ywz5001, ywz4001, bfb, bfc)
new_esEs28(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, app(ty_Ratio, bfd)) → new_esEs11(ywz5001, ywz4001, bfd)
new_esEs28(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_esEs12(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_esEs17(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs9(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(ty_[], he)) → new_esEs8(ywz5000, ywz4000, he)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(ty_@2, hc), hd), fb) → new_esEs6(ywz5000, ywz4000, hc, hd)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Char, fb) → new_esEs12(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Int, fb) → new_esEs9(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, gh), ha), hb), fb) → new_esEs5(ywz5000, ywz4000, gh, ha, hb)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_Ratio, gf), fb) → new_esEs11(ywz5000, ywz4000, gf)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Ordering, fb) → new_esEs16(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Double, fb) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(app(app(ty_@3, bab), bac), bad)) → new_esEs5(ywz5000, ywz4000, bab, bac, bad)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(app(ty_@2, bae), baf)) → new_esEs6(ywz5000, ywz4000, bae, baf)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_[], gc), fb) → new_esEs8(ywz5000, ywz4000, gc)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Bool, fb) → new_esEs15(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Float, fb) → new_esEs10(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Integer, fb) → new_esEs13(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(ty_Ratio, hh)) → new_esEs11(ywz5000, ywz4000, hh)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Right(ywz4000), fa, fb) → False
new_esEs4(Right(ywz5000), Left(ywz4000), fa, fb) → False
new_esEs4(Left(ywz5000), Left(ywz4000), ty_@0, fb) → new_esEs14(ywz5000, ywz4000)
new_esEs8(:(ywz5000, ywz5001), :(ywz4000, ywz4001), dc) → new_asAs(new_esEs25(ywz5000, ywz4000, dc), new_esEs8(ywz5001, ywz4001, dc))
new_esEs8([], [], dc) → True
new_esEs8([], :(ywz4000, ywz4001), dc) → False
new_esEs8(:(ywz5000, ywz5001), [], dc) → False
new_esEs25(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(app(ty_Either, de), df)) → new_esEs4(ywz5000, ywz4000, de, df)
new_esEs25(ywz5000, ywz4000, app(app(ty_@2, ed), ee)) → new_esEs6(ywz5000, ywz4000, ed, ee)
new_esEs25(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(ty_[], dd)) → new_esEs8(ywz5000, ywz4000, dd)
new_esEs25(ywz5000, ywz4000, app(ty_Ratio, dg)) → new_esEs11(ywz5000, ywz4000, dg)
new_esEs25(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(ty_Maybe, dh)) → new_esEs7(ywz5000, ywz4000, dh)
new_esEs25(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(app(app(ty_@3, ea), eb), ec)) → new_esEs5(ywz5000, ywz4000, ea, eb, ec)
new_compare9(ywz5000, ywz4000, eg, eh) → new_compare26(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, eg, eh), eg, eh)
new_compare26(ywz5000, ywz4000, True, eg, eh) → EQ
new_compare26(ywz5000, ywz4000, False, eg, eh) → new_compare111(ywz5000, ywz4000, new_ltEs5(ywz5000, ywz4000, eg, eh), eg, eh)
new_compare111(ywz5000, ywz4000, False, eg, eh) → GT
new_compare111(ywz5000, ywz4000, True, eg, eh) → LT
new_compare12(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare7(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_compare12(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare15(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_sr0(Integer(ywz40000), Integer(ywz50010)) → Integer(new_primMulInt(ywz40000, ywz50010))
new_compare17(ywz5000, ywz4000) → new_compare210(ywz5000, ywz4000, new_esEs15(ywz5000, ywz4000))
new_compare210(ywz5000, ywz4000, False) → new_compare10(ywz5000, ywz4000, new_ltEs15(ywz5000, ywz4000))
new_compare210(ywz5000, ywz4000, True) → EQ
new_compare10(ywz5000, ywz4000, True) → LT
new_compare10(ywz5000, ywz4000, False) → GT
new_compare18(ywz5000, ywz4000, ga, gb) → new_compare28(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, ga, gb), ga, gb)
new_compare28(ywz5000, ywz4000, True, ga, gb) → EQ
new_compare28(ywz5000, ywz4000, False, ga, gb) → new_compare113(ywz5000, ywz4000, new_ltEs16(ywz5000, ywz4000, ga, gb), ga, gb)
new_compare113(ywz5000, ywz4000, True, ga, gb) → LT
new_compare113(ywz5000, ywz4000, False, ga, gb) → GT
new_ltEs11(ywz500, ywz400, ef) → new_not(new_esEs16(new_compare12(ywz500, ywz400, ef), GT))
new_ltEs9(ywz500, ywz400) → new_not(new_esEs16(new_compare7(ywz500, ywz400), GT))
new_lt15(ywz5000, ywz4000) → new_esEs16(new_compare14(ywz5000, ywz4000), LT)
new_lt17(ywz5000, ywz4000) → new_esEs16(new_compare17(ywz5000, ywz4000), LT)
new_lt16(ywz5000, ywz4000, bd, be, bf) → new_esEs16(new_compare5(ywz5000, ywz4000, bd, be, bf), LT)
new_lt19(ywz5000, ywz4000) → new_esEs16(new_compare25(ywz5000, ywz4000), LT)
new_lt18(ywz5000, ywz4000) → new_esEs16(new_compare19(ywz5000, ywz4000), LT)
new_lt4(ywz5000, ywz4000, ga, gb) → new_esEs16(new_compare18(ywz5000, ywz4000, ga, gb), LT)
new_lt5(ywz50, ywz40, h) → new_esEs16(new_compare13(ywz50, ywz40, h), LT)
new_lt8(ywz5000, ywz4000) → new_esEs16(new_compare15(ywz5000, ywz4000), LT)
new_lt11(ywz5000, ywz4000, bah) → new_esEs16(new_compare12(ywz5000, ywz4000, bah), LT)
new_lt9(ywz5000, ywz4000, bag) → new_esEs16(new_compare0(ywz5000, ywz4000, bag), LT)
new_lt12(ywz5000, ywz4000, eg, eh) → new_esEs16(new_compare9(ywz5000, ywz4000, eg, eh), LT)
new_lt6(ywz5000, ywz4000) → new_esEs16(new_compare8(ywz5000, ywz4000), LT)
new_lt7(ywz5000, ywz4000) → new_esEs16(new_compare16(ywz5000, ywz4000), LT)
new_lt10(ywz5000, ywz4000) → new_esEs16(new_compare7(ywz5000, ywz4000), LT)

The set Q consists of the following terms:

new_esEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_sr(x0, x1)
new_lt13(x0, x1, ty_@0)
new_esEs7(Just(x0), Just(x1), app(ty_Maybe, x2))
new_lt13(x0, x1, app(ty_[], x2))
new_esEs20(x0, x1, ty_Double)
new_lt14(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs7(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), ty_Int, x2)
new_compare25(Double(x0, x1), Double(x2, x3))
new_esEs24(x0, x1, ty_Ordering)
new_esEs28(x0, x1, ty_Int)
new_lt14(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(x0, x1, ty_Bool)
new_primCmpNat1(Zero, Succ(x0))
new_esEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs30(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Int)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs24(x0, x1, ty_Bool)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_compare0(:(x0, x1), :(x2, x3), x4)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs7(x0, x1, ty_@0)
new_ltEs12(Just(x0), Nothing, x1)
new_esEs27(x0, x1, ty_Bool)
new_esEs8(:(x0, x1), :(x2, x3), x4)
new_primPlusNat1(Succ(x0), Zero)
new_esEs15(True, True)
new_lt13(x0, x1, app(ty_Ratio, x2))
new_ltEs17(EQ, GT)
new_ltEs17(GT, EQ)
new_primMulNat0(Succ(x0), Zero)
new_ltEs7(x0, x1, ty_Integer)
new_primPlusNat0(Succ(x0), x1)
new_compare6(x0, x1, ty_Int)
new_esEs13(Integer(x0), Integer(x1))
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs5(Right(x0), Right(x1), x2, ty_Double)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_esEs4(Left(x0), Left(x1), ty_Integer, x2)
new_primCompAux0(x0, x1, x2, x3)
new_ltEs15(True, True)
new_ltEs19(x0, x1, ty_Ordering)
new_compare27(Just(x0), Just(x1), False, x2)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, ty_Float)
new_esEs7(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt19(x0, x1)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_compare24(x0, x1, True, x2, x3, x4)
new_esEs30(x0, x1, ty_Ordering)
new_ltEs14(x0, x1)
new_esEs30(x0, x1, ty_Int)
new_esEs15(False, False)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_lt8(x0, x1)
new_esEs20(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs18(x0, x1, ty_Int)
new_ltEs15(False, False)
new_compare113(x0, x1, False, x2, x3)
new_ltEs19(x0, x1, ty_Double)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs16(LT, GT)
new_esEs16(GT, LT)
new_esEs4(Left(x0), Left(x1), ty_Float, x2)
new_esEs28(x0, x1, ty_@0)
new_compare6(x0, x1, ty_Float)
new_ltEs5(Right(x0), Right(x1), x2, ty_Char)
new_ltEs20(x0, x1, ty_@0)
new_esEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_compare28(x0, x1, False, x2, x3)
new_lt20(x0, x1, ty_Int)
new_primEqNat0(Succ(x0), Succ(x1))
new_primCmpNat0(Zero, x0)
new_pePe(True, x0)
new_ltEs5(Left(x0), Left(x1), ty_Bool, x2)
new_compare110(x0, x1, True, x2, x3, x4)
new_esEs23(x0, x1, ty_Double)
new_ltEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt20(x0, x1, ty_Integer)
new_esEs9(x0, x1)
new_compare7(x0, x1)
new_ltEs19(x0, x1, ty_Float)
new_esEs5(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Float)
new_ltEs12(Just(x0), Just(x1), app(ty_[], x2))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_compare5(x0, x1, x2, x3, x4)
new_compare210(x0, x1, False)
new_ltEs7(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpNat1(Zero, Zero)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt14(x0, x1, app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), ty_Float)
new_esEs23(x0, x1, ty_Integer)
new_compare9(x0, x1, x2, x3)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_ltEs20(x0, x1, ty_Double)
new_ltEs7(x0, x1, app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_compare13(x0, x1, x2)
new_ltEs5(Right(x0), Right(x1), x2, ty_@0)
new_esEs7(Just(x0), Just(x1), app(ty_[], x2))
new_compare27(Nothing, Nothing, False, x0)
new_lt13(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, ty_Float)
new_esEs4(Left(x0), Left(x1), ty_Bool, x2)
new_lt9(x0, x1, x2)
new_esEs7(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs10(Float(x0, x1), Float(x2, x3))
new_primEqNat0(Zero, Zero)
new_esEs24(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, ty_Int)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_lt14(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_primCompAux00(x0, GT)
new_compare27(Nothing, Just(x0), False, x1)
new_compare10(x0, x1, False)
new_ltEs5(Left(x0), Left(x1), ty_Integer, x2)
new_primCompAux00(x0, EQ)
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_primMulNat0(Zero, Zero)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_compare6(x0, x1, ty_Integer)
new_lt20(x0, x1, ty_@0)
new_esEs30(x0, x1, ty_Char)
new_ltEs5(Right(x0), Right(x1), x2, ty_Bool)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_ltEs5(Left(x0), Left(x1), ty_Char, x2)
new_esEs28(x0, x1, ty_Char)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_esEs4(Left(x0), Left(x1), ty_Double, x2)
new_compare19(x0, x1)
new_esEs25(x0, x1, ty_Int)
new_compare8(Float(x0, x1), Float(x2, x3))
new_esEs7(Nothing, Just(x0), x1)
new_esEs16(GT, GT)
new_esEs25(x0, x1, ty_Char)
new_lt13(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_ltEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(Just(x0), Just(x1), ty_Integer)
new_ltEs16(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_lt13(x0, x1, ty_Double)
new_esEs14(@0, @0)
new_ltEs18(x0, x1)
new_compare27(Just(x0), Nothing, False, x1)
new_primMulInt(Neg(x0), Neg(x1))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Float)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs24(x0, x1, ty_Char)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_esEs7(Just(x0), Just(x1), ty_Ordering)
new_ltEs20(x0, x1, ty_Integer)
new_ltEs8(x0, x1, x2)
new_compare12(:%(x0, x1), :%(x2, x3), ty_Integer)
new_lt5(x0, x1, x2)
new_esEs21(x0, x1, ty_Double)
new_esEs22(x0, x1, ty_@0)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs12(Nothing, Just(x0), x1)
new_lt14(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8(:(x0, x1), [], x2)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare16(@0, @0)
new_esEs4(Right(x0), Right(x1), x2, ty_Int)
new_esEs20(x0, x1, ty_@0)
new_pePe(False, x0)
new_ltEs7(x0, x1, ty_Double)
new_compare28(x0, x1, True, x2, x3)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs21(x0, x1, ty_Integer)
new_esEs30(x0, x1, ty_Bool)
new_esEs22(x0, x1, ty_Double)
new_ltEs19(x0, x1, ty_Char)
new_esEs19(x0, x1, ty_Int)
new_compare29(x0, x1, True)
new_compare15(Integer(x0), Integer(x1))
new_compare29(x0, x1, False)
new_ltEs4(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt16(x0, x1, x2, x3, x4)
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpNat2(x0, Zero)
new_compare6(x0, x1, ty_@0)
new_compare113(x0, x1, True, x2, x3)
new_primPlusNat1(Zero, Zero)
new_ltEs9(x0, x1)
new_compare27(x0, x1, True, x2)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_compare6(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs21(x0, x1, ty_Ordering)
new_esEs24(x0, x1, ty_Integer)
new_ltEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(x0, x1, ty_Char)
new_ltEs19(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs28(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_compare0([], :(x0, x1), x2)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs19(x0, x1, ty_Bool)
new_ltEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs26(x0, x1, ty_Bool)
new_primCompAux00(x0, LT)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_lt20(x0, x1, ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt10(x0, x1)
new_lt4(x0, x1, x2, x3)
new_lt11(x0, x1, x2)
new_ltEs7(x0, x1, ty_Bool)
new_lt14(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_@0)
new_compare26(x0, x1, True, x2, x3)
new_esEs26(x0, x1, ty_Integer)
new_ltEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_lt15(x0, x1)
new_ltEs7(x0, x1, app(ty_Maybe, x2))
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(Left(x0), Right(x1), x2, x3)
new_ltEs5(Right(x0), Left(x1), x2, x3)
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Ordering)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt14(x0, x1, app(ty_Maybe, x2))
new_compare111(x0, x1, True, x2, x3)
new_ltEs15(False, True)
new_ltEs15(True, False)
new_ltEs17(GT, GT)
new_lt14(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Int)
new_lt14(x0, x1, ty_Bool)
new_esEs25(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_compare110(x0, x1, False, x2, x3, x4)
new_esEs4(Right(x0), Right(x1), x2, ty_Integer)
new_esEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_compare210(x0, x1, True)
new_esEs20(x0, x1, ty_Int)
new_esEs7(Just(x0), Just(x1), ty_Float)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Double)
new_esEs22(x0, x1, ty_Int)
new_ltEs7(x0, x1, ty_Int)
new_ltEs12(Just(x0), Just(x1), ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, ty_Float)
new_lt18(x0, x1)
new_lt13(x0, x1, app(ty_Maybe, x2))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Zero, Succ(x0))
new_esEs15(True, False)
new_esEs15(False, True)
new_esEs7(Just(x0), Just(x1), ty_Int)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, ty_Bool)
new_esEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs4(Right(x0), Right(x1), x2, ty_Char)
new_ltEs7(x0, x1, ty_Char)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt17(x0, x1)
new_asAs(True, x0)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs7(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Char)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs16(LT, LT)
new_compare17(x0, x1)
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_lt13(x0, x1, ty_Integer)
new_esEs7(Just(x0), Just(x1), ty_Char)
new_esEs26(x0, x1, ty_Ordering)
new_esEs18(x0, x1, ty_Integer)
new_sr0(Integer(x0), Integer(x1))
new_esEs28(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_esEs4(Left(x0), Right(x1), x2, x3)
new_esEs4(Right(x0), Left(x1), x2, x3)
new_ltEs10(x0, x1)
new_esEs22(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_Float)
new_lt12(x0, x1, x2, x3)
new_compare10(x0, x1, True)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, ty_@0)
new_ltEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt6(x0, x1)
new_esEs25(x0, x1, app(ty_[], x2))
new_ltEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_lt13(x0, x1, ty_Bool)
new_ltEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs20(x0, x1, ty_Ordering)
new_lt14(x0, x1, ty_Integer)
new_ltEs11(x0, x1, x2)
new_ltEs12(Just(x0), Just(x1), ty_Double)
new_esEs26(x0, x1, app(ty_[], x2))
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_compare6(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8([], [], x0)
new_compare112(x0, x1, True, x2)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_asAs(False, x0)
new_compare6(x0, x1, app(ty_Maybe, x2))
new_lt13(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_@0)
new_primPlusNat1(Zero, Succ(x0))
new_compare6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), ty_@0, x2)
new_esEs4(Left(x0), Left(x1), ty_Char, x2)
new_compare6(x0, x1, ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, ty_Integer)
new_esEs7(Just(x0), Just(x1), ty_Integer)
new_ltEs5(Left(x0), Left(x1), ty_Float, x2)
new_compare14(Char(x0), Char(x1))
new_lt13(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs17(LT, GT)
new_ltEs17(GT, LT)
new_ltEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs23(x0, x1, ty_Float)
new_ltEs20(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_[], x2))
new_esEs12(Char(x0), Char(x1))
new_esEs23(x0, x1, ty_Char)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs28(x0, x1, ty_Ordering)
new_esEs4(Right(x0), Right(x1), x2, ty_@0)
new_esEs7(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Char)
new_compare0(:(x0, x1), [], x2)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs27(x0, x1, ty_Int)
new_esEs17(Double(x0, x1), Double(x2, x3))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, app(ty_[], x2))
new_primCmpNat1(Succ(x0), Zero)
new_ltEs12(Just(x0), Just(x1), ty_Bool)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_compare6(x0, x1, ty_Double)
new_esEs7(Nothing, Nothing, x0)
new_ltEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Double)
new_compare24(x0, x1, False, x2, x3, x4)
new_primCmpNat1(Succ(x0), Succ(x1))
new_primPlusNat1(Succ(x0), Succ(x1))
new_ltEs12(Just(x0), Just(x1), ty_Char)
new_esEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs7(Just(x0), Just(x1), ty_Double)
new_ltEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_compare26(x0, x1, False, x2, x3)
new_ltEs7(x0, x1, ty_Float)
new_not(True)
new_esEs7(Just(x0), Just(x1), ty_Bool)
new_esEs24(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Char)
new_compare6(x0, x1, app(ty_[], x2))
new_esEs16(EQ, LT)
new_esEs16(LT, EQ)
new_compare12(:%(x0, x1), :%(x2, x3), ty_Int)
new_esEs21(x0, x1, ty_@0)
new_primCmpNat0(Succ(x0), x1)
new_esEs16(EQ, EQ)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Double)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_ltEs19(x0, x1, ty_Int)
new_not(False)
new_esEs6(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs25(x0, x1, ty_Integer)
new_ltEs12(Just(x0), Just(x1), ty_@0)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Int)
new_esEs23(x0, x1, ty_Ordering)
new_esEs26(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), ty_@0, x2)
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Bool)
new_primMulNat0(Succ(x0), Succ(x1))
new_lt14(x0, x1, ty_@0)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(x0, x1, ty_Float)
new_ltEs13(x0, x1)
new_esEs4(Right(x0), Right(x1), x2, ty_Float)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_lt14(x0, x1, ty_Ordering)
new_compare6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs16(EQ, GT)
new_esEs16(GT, EQ)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt7(x0, x1)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare18(x0, x1, x2, x3)
new_ltEs5(Right(x0), Right(x1), x2, ty_Int)
new_ltEs17(LT, EQ)
new_compare111(x0, x1, False, x2, x3)
new_ltEs17(EQ, LT)
new_esEs7(Just(x0), Nothing, x1)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_lt14(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Integer)
new_esEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs30(x0, x1, ty_Integer)
new_esEs30(x0, x1, ty_Float)
new_esEs23(x0, x1, ty_Int)
new_compare112(x0, x1, False, x2)
new_esEs26(x0, x1, ty_@0)
new_ltEs5(Left(x0), Left(x1), ty_Int, x2)
new_esEs7(Just(x0), Just(x1), ty_@0)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs12(Nothing, Nothing, x0)
new_ltEs6(x0, x1)
new_ltEs12(Just(x0), Just(x1), ty_Int)
new_esEs19(x0, x1, ty_Integer)
new_compare0([], [], x0)
new_esEs24(x0, x1, ty_Double)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_lt14(x0, x1, ty_Double)
new_ltEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs23(x0, x1, ty_Bool)
new_esEs8([], :(x0, x1), x2)
new_ltEs19(x0, x1, ty_Integer)
new_primPlusNat0(Zero, x0)
new_primEqNat0(Zero, Succ(x0))
new_esEs25(x0, x1, ty_Double)
new_esEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs5(Left(x0), Left(x1), ty_Double, x2)
new_primCmpNat2(x0, Succ(x1))
new_esEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs11(:%(x0, x1), :%(x2, x3), x4)
new_esEs22(x0, x1, ty_Integer)
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_lt13(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_lt13(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare11(x0, x1, False)
new_esEs20(x0, x1, ty_Char)
new_ltEs17(EQ, EQ)
new_esEs22(x0, x1, ty_Char)
new_ltEs17(LT, LT)
new_esEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Bool)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_compare11(x0, x1, True)
new_esEs7(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Bool)
new_lt13(x0, x1, ty_Ordering)
new_esEs20(x0, x1, app(ty_Ratio, x2))

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_esEs30(x0, x1, ty_Double)
new_esEs30(x0, x1, ty_Ordering)
new_esEs30(x0, x1, ty_Int)
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, ty_Char)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs30(x0, x1, ty_Bool)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_esEs30(x0, x1, ty_@0)
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_esEs30(x0, x1, app(ty_[], x2))
new_esEs30(x0, x1, ty_Integer)
new_esEs30(x0, x1, ty_Float)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ AND
                                        ↳ QDP
                                          ↳ UsableRulesProof
                                            ↳ QDP
                                              ↳ QReductionProof
QDP
                                                  ↳ QDPSizeChangeProof
                                        ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_splitLT(Branch(ywz430, ywz431, ywz432, ywz433, ywz434), h, ba) → new_splitLT3(ywz430, ywz431, ywz432, ywz433, ywz434, Nothing, h, ba)
new_splitLT3(Just(ywz400), ywz41, ywz42, ywz43, ywz44, Nothing, h, ba) → new_splitLT2(ywz400, ywz41, ywz42, ywz43, ywz44, new_esEs16(new_compare27(Nothing, Just(ywz400), False, h), LT), h, ba)
new_splitLT2(ywz400, ywz41, ywz42, Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz44, True, h, ba) → new_splitLT3(ywz430, ywz431, ywz432, ywz433, ywz434, Nothing, h, ba)
new_splitLT3(Nothing, ywz41, ywz42, ywz43, ywz44, Nothing, h, ba) → new_splitLT1(ywz41, ywz42, ywz43, ywz44, new_esEs16(new_compare13(Nothing, Nothing, h), GT), h, ba)
new_splitLT1(ywz41, ywz42, ywz43, ywz44, True, h, ba) → new_splitLT(ywz44, h, ba)
new_splitLT10(ywz400, ywz41, ywz42, ywz43, ywz44, True, h, ba) → new_splitLT(ywz44, h, ba)
new_splitLT2(ywz400, ywz41, ywz42, ywz43, ywz44, False, h, ba) → new_splitLT10(ywz400, ywz41, ywz42, ywz43, ywz44, new_esEs16(new_compare13(Nothing, Just(ywz400), h), GT), h, ba)

The TRS R consists of the following rules:

new_compare13(ywz50, ywz40, h) → new_compare27(ywz50, ywz40, new_esEs7(ywz50, ywz40, h), h)
new_esEs16(EQ, GT) → False
new_esEs16(LT, GT) → False
new_esEs16(GT, GT) → True
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_[], bh)) → new_esEs8(ywz5000, ywz4000, bh)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_Ratio, cc)) → new_esEs11(ywz5000, ywz4000, cc)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(ty_@2, da), db)) → new_esEs6(ywz5000, ywz4000, da, db)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs7(Nothing, Nothing, bg) → True
new_esEs7(Just(ywz5000), Nothing, bg) → False
new_esEs7(Nothing, Just(ywz4000), bg) → False
new_esEs7(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, ce), cf), cg)) → new_esEs5(ywz5000, ywz4000, ce, cf, cg)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(ty_Either, ca), cb)) → new_esEs4(ywz5000, ywz4000, ca, cb)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(ty_Maybe, baa)) → new_esEs7(ywz5000, ywz4000, baa)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_Maybe, cd)) → new_esEs7(ywz5000, ywz4000, cd)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(app(ty_Either, hf), hg)) → new_esEs4(ywz5000, ywz4000, hf, hg)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(ty_Either, gd), ge), fb) → new_esEs4(ywz5000, ywz4000, gd, ge)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_Maybe, gg), fb) → new_esEs7(ywz5000, ywz4000, gg)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs10(ywz5000, ywz4000)
new_compare27(Just(ywz500), Just(ywz400), False, h) → new_compare112(ywz500, ywz400, new_ltEs7(ywz500, ywz400, h), h)
new_compare27(Nothing, Just(ywz400), False, h) → LT
new_compare27(Just(ywz500), Nothing, False, h) → GT
new_compare27(Nothing, Nothing, False, h) → LT
new_compare27(ywz50, ywz40, True, h) → EQ
new_ltEs7(ywz500, ywz400, app(ty_Ratio, ef)) → new_ltEs11(ywz500, ywz400, ef)
new_ltEs7(ywz500, ywz400, app(ty_[], dc)) → new_ltEs8(ywz500, ywz400, dc)
new_ltEs7(ywz500, ywz400, ty_Char) → new_ltEs6(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, ty_Double) → new_ltEs18(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, ty_Integer) → new_ltEs13(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, ty_@0) → new_ltEs14(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, app(app(ty_@2, fg), fh)) → new_ltEs16(ywz500, ywz400, fg, fh)
new_ltEs7(ywz500, ywz400, ty_Float) → new_ltEs10(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, ty_Bool) → new_ltEs15(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, app(app(ty_Either, fa), fb)) → new_ltEs5(ywz500, ywz400, fa, fb)
new_ltEs7(ywz500, ywz400, ty_Int) → new_ltEs9(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, ty_Ordering) → new_ltEs17(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, app(app(app(ty_@3, fc), fd), ff)) → new_ltEs4(ywz500, ywz400, fc, fd, ff)
new_ltEs7(ywz500, ywz400, app(ty_Maybe, bg)) → new_ltEs12(ywz500, ywz400, bg)
new_compare112(ywz95, ywz96, True, bdf) → LT
new_compare112(ywz95, ywz96, False, bdf) → GT
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Double) → new_ltEs18(ywz5000, ywz4000)
new_ltEs12(Nothing, Nothing, bg) → True
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Integer) → new_ltEs13(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_Ratio, cc)) → new_ltEs11(ywz5000, ywz4000, cc)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(ty_@2, da), db)) → new_ltEs16(ywz5000, ywz4000, da, db)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_[], bh)) → new_ltEs8(ywz5000, ywz4000, bh)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Float) → new_ltEs10(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_@0) → new_ltEs14(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_ltEs17(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, ce), cf), cg)) → new_ltEs4(ywz5000, ywz4000, ce, cf, cg)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Char) → new_ltEs6(ywz5000, ywz4000)
new_ltEs12(Nothing, Just(ywz4000), bg) → True
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Bool) → new_ltEs15(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Int) → new_ltEs9(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Nothing, bg) → False
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_Maybe, gg), fb) → new_ltEs12(ywz5000, ywz4000, gg)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(ty_Either, gd), ge), fb) → new_ltEs5(ywz5000, ywz4000, gd, ge)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_Maybe, cd)) → new_ltEs12(ywz5000, ywz4000, cd)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(ty_Either, ca), cb)) → new_ltEs5(ywz5000, ywz4000, ca, cb)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(app(ty_Either, hf), hg)) → new_ltEs5(ywz5000, ywz4000, hf, hg)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(ty_Maybe, baa)) → new_ltEs12(ywz5000, ywz4000, baa)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(ty_@2, hc), hd), fb) → new_ltEs16(ywz5000, ywz4000, hc, hd)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Int) → new_ltEs9(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Int, fb) → new_ltEs9(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(ty_[], he)) → new_ltEs8(ywz5000, ywz4000, he)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Float) → new_ltEs10(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Right(ywz4000), fa, fb) → True
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Float, fb) → new_ltEs10(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Left(ywz4000), fa, fb) → False
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Integer, fb) → new_ltEs13(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Char, fb) → new_ltEs6(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_@0) → new_ltEs14(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_@0, fb) → new_ltEs14(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Ordering, fb) → new_ltEs17(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Ordering) → new_ltEs17(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Char) → new_ltEs6(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_Ratio, gf), fb) → new_ltEs11(ywz5000, ywz4000, gf)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(app(app(ty_@3, bab), bac), bad)) → new_ltEs4(ywz5000, ywz4000, bab, bac, bad)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Bool) → new_ltEs15(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(ty_Ratio, hh)) → new_ltEs11(ywz5000, ywz4000, hh)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Double) → new_ltEs18(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Bool, fb) → new_ltEs15(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_[], gc), fb) → new_ltEs8(ywz5000, ywz4000, gc)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Double, fb) → new_ltEs18(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(app(ty_@2, bae), baf)) → new_ltEs16(ywz5000, ywz4000, bae, baf)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, gh), ha), hb), fb) → new_ltEs4(ywz5000, ywz4000, gh, ha, hb)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Integer) → new_ltEs13(ywz5000, ywz4000)
new_ltEs13(ywz500, ywz400) → new_not(new_esEs16(new_compare15(ywz500, ywz400), GT))
new_compare15(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_not(False) → True
new_not(True) → False
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat0(Zero, ywz40000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat2(ywz40000, Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat0(ywz4000, ywz50000)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat2(ywz50000, ywz4000)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_primCmpNat2(ywz50000, Succ(ywz40000)) → new_primCmpNat1(ywz50000, ywz40000)
new_primCmpNat2(ywz50000, Zero) → GT
new_primCmpNat1(Zero, Succ(ywz400000)) → LT
new_primCmpNat1(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat1(ywz500000, ywz400000)
new_primCmpNat1(Zero, Zero) → EQ
new_primCmpNat1(Succ(ywz500000), Zero) → GT
new_primCmpNat0(Succ(ywz40000), ywz50000) → new_primCmpNat1(ywz40000, ywz50000)
new_primCmpNat0(Zero, ywz50000) → LT
new_ltEs4(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), fc, fd, ff) → new_pePe(new_lt14(ywz5000, ywz4000, fc), new_asAs(new_esEs23(ywz5000, ywz4000, fc), new_pePe(new_lt13(ywz5001, ywz4001, fd), new_asAs(new_esEs24(ywz5001, ywz4001, fd), new_ltEs19(ywz5002, ywz4002, ff)))))
new_lt14(ywz5000, ywz4000, app(app(ty_@2, ga), gb)) → new_lt4(ywz5000, ywz4000, ga, gb)
new_lt14(ywz5000, ywz4000, app(app(ty_Either, eg), eh)) → new_lt12(ywz5000, ywz4000, eg, eh)
new_lt14(ywz5000, ywz4000, ty_Int) → new_lt10(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_lt5(ywz5000, ywz4000, bba)
new_lt14(ywz5000, ywz4000, ty_Char) → new_lt15(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, app(ty_Ratio, bah)) → new_lt11(ywz5000, ywz4000, bah)
new_lt14(ywz5000, ywz4000, ty_Ordering) → new_lt18(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, ty_Double) → new_lt19(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, app(app(app(ty_@3, bd), be), bf)) → new_lt16(ywz5000, ywz4000, bd, be, bf)
new_lt14(ywz5000, ywz4000, ty_Float) → new_lt6(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, ty_Integer) → new_lt8(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, app(ty_[], bag)) → new_lt9(ywz5000, ywz4000, bag)
new_lt14(ywz5000, ywz4000, ty_Bool) → new_lt17(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, ty_@0) → new_lt7(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_esEs7(ywz5000, ywz4000, bba)
new_esEs23(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, app(ty_[], bag)) → new_esEs8(ywz5000, ywz4000, bag)
new_esEs23(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, app(app(ty_@2, ga), gb)) → new_esEs6(ywz5000, ywz4000, ga, gb)
new_esEs23(ywz5000, ywz4000, app(ty_Ratio, bah)) → new_esEs11(ywz5000, ywz4000, bah)
new_esEs23(ywz5000, ywz4000, app(app(ty_Either, eg), eh)) → new_esEs4(ywz5000, ywz4000, eg, eh)
new_esEs23(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, app(app(app(ty_@3, bd), be), bf)) → new_esEs5(ywz5000, ywz4000, bd, be, bf)
new_lt13(ywz5001, ywz4001, ty_@0) → new_lt7(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, ty_Integer) → new_lt8(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, ty_Float) → new_lt6(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, ty_Char) → new_lt15(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, app(ty_Maybe, bbf)) → new_lt5(ywz5001, ywz4001, bbf)
new_lt13(ywz5001, ywz4001, app(ty_[], bbb)) → new_lt9(ywz5001, ywz4001, bbb)
new_lt13(ywz5001, ywz4001, app(app(ty_Either, bbc), bbd)) → new_lt12(ywz5001, ywz4001, bbc, bbd)
new_lt13(ywz5001, ywz4001, ty_Ordering) → new_lt18(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, app(ty_Ratio, bbe)) → new_lt11(ywz5001, ywz4001, bbe)
new_lt13(ywz5001, ywz4001, ty_Double) → new_lt19(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, app(app(ty_@2, bcb), bcc)) → new_lt4(ywz5001, ywz4001, bcb, bcc)
new_lt13(ywz5001, ywz4001, ty_Int) → new_lt10(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, app(app(app(ty_@3, bbg), bbh), bca)) → new_lt16(ywz5001, ywz4001, bbg, bbh, bca)
new_lt13(ywz5001, ywz4001, ty_Bool) → new_lt17(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, app(app(app(ty_@3, bbg), bbh), bca)) → new_esEs5(ywz5001, ywz4001, bbg, bbh, bca)
new_esEs24(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, app(ty_Maybe, bbf)) → new_esEs7(ywz5001, ywz4001, bbf)
new_esEs24(ywz5001, ywz4001, app(app(ty_@2, bcb), bcc)) → new_esEs6(ywz5001, ywz4001, bcb, bcc)
new_esEs24(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, app(ty_Ratio, bbe)) → new_esEs11(ywz5001, ywz4001, bbe)
new_esEs24(ywz5001, ywz4001, app(ty_[], bbb)) → new_esEs8(ywz5001, ywz4001, bbb)
new_esEs24(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, app(app(ty_Either, bbc), bbd)) → new_esEs4(ywz5001, ywz4001, bbc, bbd)
new_esEs24(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_ltEs19(ywz5002, ywz4002, app(ty_[], bcd)) → new_ltEs8(ywz5002, ywz4002, bcd)
new_ltEs19(ywz5002, ywz4002, app(ty_Ratio, bcg)) → new_ltEs11(ywz5002, ywz4002, bcg)
new_ltEs19(ywz5002, ywz4002, app(ty_Maybe, bch)) → new_ltEs12(ywz5002, ywz4002, bch)
new_ltEs19(ywz5002, ywz4002, ty_Char) → new_ltEs6(ywz5002, ywz4002)
new_ltEs19(ywz5002, ywz4002, ty_Float) → new_ltEs10(ywz5002, ywz4002)
new_ltEs19(ywz5002, ywz4002, app(app(app(ty_@3, bda), bdb), bdc)) → new_ltEs4(ywz5002, ywz4002, bda, bdb, bdc)
new_ltEs19(ywz5002, ywz4002, ty_Bool) → new_ltEs15(ywz5002, ywz4002)
new_ltEs19(ywz5002, ywz4002, ty_Ordering) → new_ltEs17(ywz5002, ywz4002)
new_ltEs19(ywz5002, ywz4002, ty_Double) → new_ltEs18(ywz5002, ywz4002)
new_ltEs19(ywz5002, ywz4002, ty_Int) → new_ltEs9(ywz5002, ywz4002)
new_ltEs19(ywz5002, ywz4002, app(app(ty_Either, bce), bcf)) → new_ltEs5(ywz5002, ywz4002, bce, bcf)
new_ltEs19(ywz5002, ywz4002, ty_@0) → new_ltEs14(ywz5002, ywz4002)
new_ltEs19(ywz5002, ywz4002, app(app(ty_@2, bdd), bde)) → new_ltEs16(ywz5002, ywz4002, bdd, bde)
new_ltEs19(ywz5002, ywz4002, ty_Integer) → new_ltEs13(ywz5002, ywz4002)
new_asAs(False, ywz102) → False
new_asAs(True, ywz102) → ywz102
new_pePe(False, ywz175) → ywz175
new_pePe(True, ywz175) → True
new_ltEs16(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), fg, fh) → new_pePe(new_lt20(ywz5000, ywz4000, fg), new_asAs(new_esEs26(ywz5000, ywz4000, fg), new_ltEs20(ywz5001, ywz4001, fh)))
new_lt20(ywz5000, ywz4000, ty_Int) → new_lt10(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_@0) → new_lt7(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Float) → new_lt6(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(ty_Either, bdh), bea)) → new_lt12(ywz5000, ywz4000, bdh, bea)
new_lt20(ywz5000, ywz4000, app(ty_[], bdg)) → new_lt9(ywz5000, ywz4000, bdg)
new_lt20(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_lt11(ywz5000, ywz4000, beb)
new_lt20(ywz5000, ywz4000, ty_Integer) → new_lt8(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_lt5(ywz5000, ywz4000, bec)
new_lt20(ywz5000, ywz4000, app(app(ty_@2, beg), beh)) → new_lt4(ywz5000, ywz4000, beg, beh)
new_lt20(ywz5000, ywz4000, ty_Ordering) → new_lt18(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Double) → new_lt19(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_lt16(ywz5000, ywz4000, bed, bee, bef)
new_lt20(ywz5000, ywz4000, ty_Bool) → new_lt17(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Char) → new_lt15(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, app(ty_[], bdg)) → new_esEs8(ywz5000, ywz4000, bdg)
new_esEs26(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_esEs7(ywz5000, ywz4000, bec)
new_esEs26(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_esEs11(ywz5000, ywz4000, beb)
new_esEs26(ywz5000, ywz4000, app(app(ty_Either, bdh), bea)) → new_esEs4(ywz5000, ywz4000, bdh, bea)
new_esEs26(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_esEs5(ywz5000, ywz4000, bed, bee, bef)
new_esEs26(ywz5000, ywz4000, app(app(ty_@2, beg), beh)) → new_esEs6(ywz5000, ywz4000, beg, beh)
new_ltEs20(ywz5001, ywz4001, ty_Int) → new_ltEs9(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, app(ty_Ratio, bfd)) → new_ltEs11(ywz5001, ywz4001, bfd)
new_ltEs20(ywz5001, ywz4001, app(app(app(ty_@3, bff), bfg), bfh)) → new_ltEs4(ywz5001, ywz4001, bff, bfg, bfh)
new_ltEs20(ywz5001, ywz4001, app(ty_[], bfa)) → new_ltEs8(ywz5001, ywz4001, bfa)
new_ltEs20(ywz5001, ywz4001, app(ty_Maybe, bfe)) → new_ltEs12(ywz5001, ywz4001, bfe)
new_ltEs20(ywz5001, ywz4001, ty_Integer) → new_ltEs13(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_@0) → new_ltEs14(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Double) → new_ltEs18(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Ordering) → new_ltEs17(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Bool) → new_ltEs15(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Float) → new_ltEs10(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Char) → new_ltEs6(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, app(app(ty_@2, bga), bgb)) → new_ltEs16(ywz5001, ywz4001, bga, bgb)
new_ltEs20(ywz5001, ywz4001, app(app(ty_Either, bfb), bfc)) → new_ltEs5(ywz5001, ywz4001, bfb, bfc)
new_ltEs6(ywz500, ywz400) → new_not(new_esEs16(new_compare14(ywz500, ywz400), GT))
new_compare14(Char(ywz5000), Char(ywz4000)) → new_primCmpNat1(ywz5000, ywz4000)
new_ltEs10(ywz500, ywz400) → new_not(new_esEs16(new_compare8(ywz500, ywz400), GT))
new_compare8(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare7(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_sr(ywz5001, ywz4001) → new_primMulInt(ywz5001, ywz4001)
new_compare7(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_primMulInt(Pos(ywz50010), Pos(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Neg(ywz50010), Neg(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Neg(ywz50010), Pos(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Pos(ywz50010), Neg(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(ywz500100), Zero) → Zero
new_primMulNat0(Zero, Succ(ywz400100)) → Zero
new_primMulNat0(Succ(ywz500100), Succ(ywz400100)) → new_primPlusNat0(new_primMulNat0(ywz500100, Succ(ywz400100)), ywz400100)
new_primPlusNat0(Succ(ywz1950), ywz400100) → Succ(Succ(new_primPlusNat1(ywz1950, ywz400100)))
new_primPlusNat0(Zero, ywz400100) → Succ(ywz400100)
new_primPlusNat1(Succ(ywz19500), Zero) → Succ(ywz19500)
new_primPlusNat1(Zero, Succ(ywz4001000)) → Succ(ywz4001000)
new_primPlusNat1(Succ(ywz19500), Succ(ywz4001000)) → Succ(Succ(new_primPlusNat1(ywz19500, ywz4001000)))
new_primPlusNat1(Zero, Zero) → Zero
new_ltEs15(True, False) → False
new_ltEs15(True, True) → True
new_ltEs15(False, True) → True
new_ltEs15(False, False) → True
new_ltEs17(LT, LT) → True
new_ltEs17(EQ, LT) → False
new_ltEs17(GT, LT) → False
new_ltEs17(LT, GT) → True
new_ltEs17(EQ, EQ) → True
new_ltEs17(GT, GT) → True
new_ltEs17(GT, EQ) → False
new_ltEs17(LT, EQ) → True
new_ltEs17(EQ, GT) → True
new_ltEs18(ywz500, ywz400) → new_not(new_esEs16(new_compare25(ywz500, ywz400), GT))
new_compare25(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare7(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs14(ywz500, ywz400) → new_not(new_esEs16(new_compare16(ywz500, ywz400), GT))
new_compare16(@0, @0) → EQ
new_ltEs8(ywz500, ywz400, dc) → new_not(new_esEs16(new_compare0(ywz500, ywz400, dc), GT))
new_compare0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), dc) → new_primCompAux0(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, dc), dc)
new_compare0([], [], dc) → EQ
new_compare0(:(ywz5000, ywz5001), [], dc) → GT
new_compare0([], :(ywz4000, ywz4001), dc) → LT
new_primCompAux0(ywz5000, ywz4000, ywz228, dc) → new_primCompAux00(ywz228, new_compare6(ywz5000, ywz4000, dc))
new_compare6(ywz5000, ywz4000, ty_Double) → new_compare25(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(app(ty_@2, ed), ee)) → new_compare18(ywz5000, ywz4000, ed, ee)
new_compare6(ywz5000, ywz4000, app(ty_[], dd)) → new_compare0(ywz5000, ywz4000, dd)
new_compare6(ywz5000, ywz4000, ty_Integer) → new_compare15(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, ty_@0) → new_compare16(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, ty_Bool) → new_compare17(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_Ratio, dg)) → new_compare12(ywz5000, ywz4000, dg)
new_compare6(ywz5000, ywz4000, ty_Char) → new_compare14(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(app(ty_Either, de), df)) → new_compare9(ywz5000, ywz4000, de, df)
new_compare6(ywz5000, ywz4000, ty_Float) → new_compare8(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(app(app(ty_@3, ea), eb), ec)) → new_compare5(ywz5000, ywz4000, ea, eb, ec)
new_compare6(ywz5000, ywz4000, ty_Ordering) → new_compare19(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, ty_Int) → new_compare7(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_Maybe, dh)) → new_compare13(ywz5000, ywz4000, dh)
new_primCompAux00(ywz280, LT) → LT
new_primCompAux00(ywz280, EQ) → ywz280
new_primCompAux00(ywz280, GT) → GT
new_compare19(ywz5000, ywz4000) → new_compare29(ywz5000, ywz4000, new_esEs16(ywz5000, ywz4000))
new_esEs16(GT, EQ) → False
new_esEs16(GT, LT) → False
new_esEs16(LT, EQ) → False
new_esEs16(EQ, LT) → False
new_esEs16(EQ, EQ) → True
new_esEs16(LT, LT) → True
new_compare29(ywz5000, ywz4000, True) → EQ
new_compare29(ywz5000, ywz4000, False) → new_compare11(ywz5000, ywz4000, new_ltEs17(ywz5000, ywz4000))
new_compare11(ywz5000, ywz4000, False) → GT
new_compare11(ywz5000, ywz4000, True) → LT
new_compare5(ywz5000, ywz4000, bd, be, bf) → new_compare24(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bd, be, bf), bd, be, bf)
new_esEs5(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), fc, fd, ff) → new_asAs(new_esEs20(ywz5000, ywz4000, fc), new_asAs(new_esEs21(ywz5001, ywz4001, fd), new_esEs22(ywz5002, ywz4002, ff)))
new_compare24(ywz5000, ywz4000, True, bd, be, bf) → EQ
new_compare24(ywz5000, ywz4000, False, bd, be, bf) → new_compare110(ywz5000, ywz4000, new_ltEs4(ywz5000, ywz4000, bd, be, bf), bd, be, bf)
new_compare110(ywz5000, ywz4000, True, bd, be, bf) → LT
new_compare110(ywz5000, ywz4000, False, bd, be, bf) → GT
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_esEs7(ywz5000, ywz4000, bba)
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, eg), eh)) → new_esEs4(ywz5000, ywz4000, eg, eh)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, ga), gb)) → new_esEs6(ywz5000, ywz4000, ga, gb)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_[], bag)) → new_esEs8(ywz5000, ywz4000, bag)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, bah)) → new_esEs11(ywz5000, ywz4000, bah)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, bd), be), bf)) → new_esEs5(ywz5000, ywz4000, bd, be, bf)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, bcb), bcc)) → new_esEs6(ywz5001, ywz4001, bcb, bcc)
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bbc), bbd)) → new_esEs4(ywz5001, ywz4001, bbc, bbd)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bbg), bbh), bca)) → new_esEs5(ywz5001, ywz4001, bbg, bbh, bca)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bbf)) → new_esEs7(ywz5001, ywz4001, bbf)
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_[], bbb)) → new_esEs8(ywz5001, ywz4001, bbb)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bbe)) → new_esEs11(ywz5001, ywz4001, bbe)
new_esEs22(ywz5002, ywz4002, ty_Double) → new_esEs17(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, ty_Char) → new_esEs12(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, app(ty_[], bcd)) → new_esEs8(ywz5002, ywz4002, bcd)
new_esEs22(ywz5002, ywz4002, app(app(ty_Either, bce), bcf)) → new_esEs4(ywz5002, ywz4002, bce, bcf)
new_esEs22(ywz5002, ywz4002, app(app(app(ty_@3, bda), bdb), bdc)) → new_esEs5(ywz5002, ywz4002, bda, bdb, bdc)
new_esEs22(ywz5002, ywz4002, ty_Integer) → new_esEs13(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, app(app(ty_@2, bdd), bde)) → new_esEs6(ywz5002, ywz4002, bdd, bde)
new_esEs22(ywz5002, ywz4002, ty_Int) → new_esEs9(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, ty_Ordering) → new_esEs16(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, ty_Bool) → new_esEs15(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, ty_@0) → new_esEs14(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, ty_Float) → new_esEs10(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, app(ty_Ratio, bcg)) → new_esEs11(ywz5002, ywz4002, bcg)
new_esEs22(ywz5002, ywz4002, app(ty_Maybe, bch)) → new_esEs7(ywz5002, ywz4002, bch)
new_esEs11(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ef) → new_asAs(new_esEs18(ywz5000, ywz4000, ef), new_esEs19(ywz5001, ywz4001, ef))
new_esEs18(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs18(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs19(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_esEs19(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs13(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_primEqNat0(Succ(ywz50000), Zero) → False
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_esEs9(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_esEs10(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs9(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs14(@0, @0) → True
new_esEs15(True, False) → False
new_esEs15(False, True) → False
new_esEs15(True, True) → True
new_esEs15(False, False) → True
new_esEs6(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), fg, fh) → new_asAs(new_esEs27(ywz5000, ywz4000, fg), new_esEs28(ywz5001, ywz4001, fh))
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_esEs7(ywz5000, ywz4000, bec)
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_[], bdg)) → new_esEs8(ywz5000, ywz4000, bdg)
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_esEs5(ywz5000, ywz4000, bed, bee, bef)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_esEs11(ywz5000, ywz4000, beb)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, beg), beh)) → new_esEs6(ywz5000, ywz4000, beg, beh)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, bdh), bea)) → new_esEs4(ywz5000, ywz4000, bdh, bea)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs28(ywz5001, ywz4001, app(app(app(ty_@3, bff), bfg), bfh)) → new_esEs5(ywz5001, ywz4001, bff, bfg, bfh)
new_esEs28(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, app(ty_[], bfa)) → new_esEs8(ywz5001, ywz4001, bfa)
new_esEs28(ywz5001, ywz4001, app(ty_Maybe, bfe)) → new_esEs7(ywz5001, ywz4001, bfe)
new_esEs28(ywz5001, ywz4001, app(app(ty_@2, bga), bgb)) → new_esEs6(ywz5001, ywz4001, bga, bgb)
new_esEs28(ywz5001, ywz4001, app(app(ty_Either, bfb), bfc)) → new_esEs4(ywz5001, ywz4001, bfb, bfc)
new_esEs28(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, app(ty_Ratio, bfd)) → new_esEs11(ywz5001, ywz4001, bfd)
new_esEs28(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_esEs12(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_esEs17(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs9(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(ty_[], he)) → new_esEs8(ywz5000, ywz4000, he)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(ty_@2, hc), hd), fb) → new_esEs6(ywz5000, ywz4000, hc, hd)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Char, fb) → new_esEs12(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Int, fb) → new_esEs9(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, gh), ha), hb), fb) → new_esEs5(ywz5000, ywz4000, gh, ha, hb)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_Ratio, gf), fb) → new_esEs11(ywz5000, ywz4000, gf)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Ordering, fb) → new_esEs16(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Double, fb) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(app(app(ty_@3, bab), bac), bad)) → new_esEs5(ywz5000, ywz4000, bab, bac, bad)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(app(ty_@2, bae), baf)) → new_esEs6(ywz5000, ywz4000, bae, baf)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_[], gc), fb) → new_esEs8(ywz5000, ywz4000, gc)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Bool, fb) → new_esEs15(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Float, fb) → new_esEs10(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Integer, fb) → new_esEs13(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(ty_Ratio, hh)) → new_esEs11(ywz5000, ywz4000, hh)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Right(ywz4000), fa, fb) → False
new_esEs4(Right(ywz5000), Left(ywz4000), fa, fb) → False
new_esEs4(Left(ywz5000), Left(ywz4000), ty_@0, fb) → new_esEs14(ywz5000, ywz4000)
new_esEs8(:(ywz5000, ywz5001), :(ywz4000, ywz4001), dc) → new_asAs(new_esEs25(ywz5000, ywz4000, dc), new_esEs8(ywz5001, ywz4001, dc))
new_esEs8([], [], dc) → True
new_esEs8([], :(ywz4000, ywz4001), dc) → False
new_esEs8(:(ywz5000, ywz5001), [], dc) → False
new_esEs25(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(app(ty_Either, de), df)) → new_esEs4(ywz5000, ywz4000, de, df)
new_esEs25(ywz5000, ywz4000, app(app(ty_@2, ed), ee)) → new_esEs6(ywz5000, ywz4000, ed, ee)
new_esEs25(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(ty_[], dd)) → new_esEs8(ywz5000, ywz4000, dd)
new_esEs25(ywz5000, ywz4000, app(ty_Ratio, dg)) → new_esEs11(ywz5000, ywz4000, dg)
new_esEs25(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(ty_Maybe, dh)) → new_esEs7(ywz5000, ywz4000, dh)
new_esEs25(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(app(app(ty_@3, ea), eb), ec)) → new_esEs5(ywz5000, ywz4000, ea, eb, ec)
new_compare9(ywz5000, ywz4000, eg, eh) → new_compare26(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, eg, eh), eg, eh)
new_compare26(ywz5000, ywz4000, True, eg, eh) → EQ
new_compare26(ywz5000, ywz4000, False, eg, eh) → new_compare111(ywz5000, ywz4000, new_ltEs5(ywz5000, ywz4000, eg, eh), eg, eh)
new_compare111(ywz5000, ywz4000, False, eg, eh) → GT
new_compare111(ywz5000, ywz4000, True, eg, eh) → LT
new_compare12(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare7(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_compare12(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare15(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_sr0(Integer(ywz40000), Integer(ywz50010)) → Integer(new_primMulInt(ywz40000, ywz50010))
new_compare17(ywz5000, ywz4000) → new_compare210(ywz5000, ywz4000, new_esEs15(ywz5000, ywz4000))
new_compare210(ywz5000, ywz4000, False) → new_compare10(ywz5000, ywz4000, new_ltEs15(ywz5000, ywz4000))
new_compare210(ywz5000, ywz4000, True) → EQ
new_compare10(ywz5000, ywz4000, True) → LT
new_compare10(ywz5000, ywz4000, False) → GT
new_compare18(ywz5000, ywz4000, ga, gb) → new_compare28(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, ga, gb), ga, gb)
new_compare28(ywz5000, ywz4000, True, ga, gb) → EQ
new_compare28(ywz5000, ywz4000, False, ga, gb) → new_compare113(ywz5000, ywz4000, new_ltEs16(ywz5000, ywz4000, ga, gb), ga, gb)
new_compare113(ywz5000, ywz4000, True, ga, gb) → LT
new_compare113(ywz5000, ywz4000, False, ga, gb) → GT
new_ltEs11(ywz500, ywz400, ef) → new_not(new_esEs16(new_compare12(ywz500, ywz400, ef), GT))
new_ltEs9(ywz500, ywz400) → new_not(new_esEs16(new_compare7(ywz500, ywz400), GT))
new_lt15(ywz5000, ywz4000) → new_esEs16(new_compare14(ywz5000, ywz4000), LT)
new_lt17(ywz5000, ywz4000) → new_esEs16(new_compare17(ywz5000, ywz4000), LT)
new_lt16(ywz5000, ywz4000, bd, be, bf) → new_esEs16(new_compare5(ywz5000, ywz4000, bd, be, bf), LT)
new_lt19(ywz5000, ywz4000) → new_esEs16(new_compare25(ywz5000, ywz4000), LT)
new_lt18(ywz5000, ywz4000) → new_esEs16(new_compare19(ywz5000, ywz4000), LT)
new_lt4(ywz5000, ywz4000, ga, gb) → new_esEs16(new_compare18(ywz5000, ywz4000, ga, gb), LT)
new_lt5(ywz50, ywz40, h) → new_esEs16(new_compare13(ywz50, ywz40, h), LT)
new_lt8(ywz5000, ywz4000) → new_esEs16(new_compare15(ywz5000, ywz4000), LT)
new_lt11(ywz5000, ywz4000, bah) → new_esEs16(new_compare12(ywz5000, ywz4000, bah), LT)
new_lt9(ywz5000, ywz4000, bag) → new_esEs16(new_compare0(ywz5000, ywz4000, bag), LT)
new_lt12(ywz5000, ywz4000, eg, eh) → new_esEs16(new_compare9(ywz5000, ywz4000, eg, eh), LT)
new_lt6(ywz5000, ywz4000) → new_esEs16(new_compare8(ywz5000, ywz4000), LT)
new_lt7(ywz5000, ywz4000) → new_esEs16(new_compare16(ywz5000, ywz4000), LT)
new_lt10(ywz5000, ywz4000) → new_esEs16(new_compare7(ywz5000, ywz4000), LT)

The set Q consists of the following terms:

new_esEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_sr(x0, x1)
new_lt13(x0, x1, ty_@0)
new_esEs7(Just(x0), Just(x1), app(ty_Maybe, x2))
new_lt13(x0, x1, app(ty_[], x2))
new_esEs20(x0, x1, ty_Double)
new_lt14(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs7(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), ty_Int, x2)
new_compare25(Double(x0, x1), Double(x2, x3))
new_esEs24(x0, x1, ty_Ordering)
new_esEs28(x0, x1, ty_Int)
new_lt14(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(x0, x1, ty_Bool)
new_primCmpNat1(Zero, Succ(x0))
new_esEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs21(x0, x1, ty_Int)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs24(x0, x1, ty_Bool)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_compare0(:(x0, x1), :(x2, x3), x4)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs7(x0, x1, ty_@0)
new_ltEs12(Just(x0), Nothing, x1)
new_esEs27(x0, x1, ty_Bool)
new_esEs8(:(x0, x1), :(x2, x3), x4)
new_primPlusNat1(Succ(x0), Zero)
new_esEs15(True, True)
new_lt13(x0, x1, app(ty_Ratio, x2))
new_ltEs17(EQ, GT)
new_ltEs17(GT, EQ)
new_primMulNat0(Succ(x0), Zero)
new_ltEs7(x0, x1, ty_Integer)
new_primPlusNat0(Succ(x0), x1)
new_compare6(x0, x1, ty_Int)
new_esEs13(Integer(x0), Integer(x1))
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs5(Right(x0), Right(x1), x2, ty_Double)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_esEs4(Left(x0), Left(x1), ty_Integer, x2)
new_primCompAux0(x0, x1, x2, x3)
new_ltEs15(True, True)
new_ltEs19(x0, x1, ty_Ordering)
new_compare27(Just(x0), Just(x1), False, x2)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, ty_Float)
new_esEs7(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt19(x0, x1)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_compare24(x0, x1, True, x2, x3, x4)
new_ltEs14(x0, x1)
new_esEs15(False, False)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_lt8(x0, x1)
new_esEs20(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs18(x0, x1, ty_Int)
new_ltEs15(False, False)
new_compare113(x0, x1, False, x2, x3)
new_ltEs19(x0, x1, ty_Double)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs16(LT, GT)
new_esEs16(GT, LT)
new_esEs4(Left(x0), Left(x1), ty_Float, x2)
new_esEs28(x0, x1, ty_@0)
new_compare6(x0, x1, ty_Float)
new_ltEs5(Right(x0), Right(x1), x2, ty_Char)
new_ltEs20(x0, x1, ty_@0)
new_esEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_compare28(x0, x1, False, x2, x3)
new_lt20(x0, x1, ty_Int)
new_primEqNat0(Succ(x0), Succ(x1))
new_primCmpNat0(Zero, x0)
new_pePe(True, x0)
new_ltEs5(Left(x0), Left(x1), ty_Bool, x2)
new_compare110(x0, x1, True, x2, x3, x4)
new_esEs23(x0, x1, ty_Double)
new_ltEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt20(x0, x1, ty_Integer)
new_esEs9(x0, x1)
new_compare7(x0, x1)
new_ltEs19(x0, x1, ty_Float)
new_esEs5(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Float)
new_ltEs12(Just(x0), Just(x1), app(ty_[], x2))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_compare5(x0, x1, x2, x3, x4)
new_compare210(x0, x1, False)
new_ltEs7(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpNat1(Zero, Zero)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt14(x0, x1, app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), ty_Float)
new_esEs23(x0, x1, ty_Integer)
new_compare9(x0, x1, x2, x3)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_ltEs20(x0, x1, ty_Double)
new_ltEs7(x0, x1, app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_compare13(x0, x1, x2)
new_ltEs5(Right(x0), Right(x1), x2, ty_@0)
new_esEs7(Just(x0), Just(x1), app(ty_[], x2))
new_compare27(Nothing, Nothing, False, x0)
new_lt13(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, ty_Float)
new_esEs4(Left(x0), Left(x1), ty_Bool, x2)
new_lt9(x0, x1, x2)
new_esEs7(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs10(Float(x0, x1), Float(x2, x3))
new_primEqNat0(Zero, Zero)
new_esEs24(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, ty_Int)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_lt14(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_primCompAux00(x0, GT)
new_compare27(Nothing, Just(x0), False, x1)
new_compare10(x0, x1, False)
new_ltEs5(Left(x0), Left(x1), ty_Integer, x2)
new_primCompAux00(x0, EQ)
new_primMulNat0(Zero, Zero)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_compare6(x0, x1, ty_Integer)
new_lt20(x0, x1, ty_@0)
new_ltEs5(Right(x0), Right(x1), x2, ty_Bool)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_ltEs5(Left(x0), Left(x1), ty_Char, x2)
new_esEs28(x0, x1, ty_Char)
new_esEs4(Left(x0), Left(x1), ty_Double, x2)
new_compare19(x0, x1)
new_esEs25(x0, x1, ty_Int)
new_compare8(Float(x0, x1), Float(x2, x3))
new_esEs7(Nothing, Just(x0), x1)
new_esEs16(GT, GT)
new_esEs25(x0, x1, ty_Char)
new_lt13(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_ltEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(Just(x0), Just(x1), ty_Integer)
new_ltEs16(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_lt13(x0, x1, ty_Double)
new_esEs14(@0, @0)
new_ltEs18(x0, x1)
new_compare27(Just(x0), Nothing, False, x1)
new_primMulInt(Neg(x0), Neg(x1))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Float)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs24(x0, x1, ty_Char)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_esEs7(Just(x0), Just(x1), ty_Ordering)
new_ltEs20(x0, x1, ty_Integer)
new_ltEs8(x0, x1, x2)
new_compare12(:%(x0, x1), :%(x2, x3), ty_Integer)
new_lt5(x0, x1, x2)
new_esEs21(x0, x1, ty_Double)
new_esEs22(x0, x1, ty_@0)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs12(Nothing, Just(x0), x1)
new_lt14(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8(:(x0, x1), [], x2)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare16(@0, @0)
new_esEs4(Right(x0), Right(x1), x2, ty_Int)
new_esEs20(x0, x1, ty_@0)
new_pePe(False, x0)
new_ltEs7(x0, x1, ty_Double)
new_compare28(x0, x1, True, x2, x3)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs21(x0, x1, ty_Integer)
new_esEs22(x0, x1, ty_Double)
new_ltEs19(x0, x1, ty_Char)
new_esEs19(x0, x1, ty_Int)
new_compare29(x0, x1, True)
new_compare15(Integer(x0), Integer(x1))
new_compare29(x0, x1, False)
new_ltEs4(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt16(x0, x1, x2, x3, x4)
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpNat2(x0, Zero)
new_compare6(x0, x1, ty_@0)
new_compare113(x0, x1, True, x2, x3)
new_primPlusNat1(Zero, Zero)
new_ltEs9(x0, x1)
new_compare27(x0, x1, True, x2)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_compare6(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs21(x0, x1, ty_Ordering)
new_esEs24(x0, x1, ty_Integer)
new_ltEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(x0, x1, ty_Char)
new_ltEs19(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs28(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_compare0([], :(x0, x1), x2)
new_ltEs19(x0, x1, ty_Bool)
new_ltEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs26(x0, x1, ty_Bool)
new_primCompAux00(x0, LT)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_lt20(x0, x1, ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt10(x0, x1)
new_lt4(x0, x1, x2, x3)
new_lt11(x0, x1, x2)
new_ltEs7(x0, x1, ty_Bool)
new_lt14(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_@0)
new_compare26(x0, x1, True, x2, x3)
new_esEs26(x0, x1, ty_Integer)
new_ltEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_lt15(x0, x1)
new_ltEs7(x0, x1, app(ty_Maybe, x2))
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(Left(x0), Right(x1), x2, x3)
new_ltEs5(Right(x0), Left(x1), x2, x3)
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Ordering)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt14(x0, x1, app(ty_Maybe, x2))
new_compare111(x0, x1, True, x2, x3)
new_ltEs15(False, True)
new_ltEs15(True, False)
new_ltEs17(GT, GT)
new_lt14(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Int)
new_lt14(x0, x1, ty_Bool)
new_esEs25(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_compare110(x0, x1, False, x2, x3, x4)
new_esEs4(Right(x0), Right(x1), x2, ty_Integer)
new_esEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_compare210(x0, x1, True)
new_esEs20(x0, x1, ty_Int)
new_esEs7(Just(x0), Just(x1), ty_Float)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Double)
new_esEs22(x0, x1, ty_Int)
new_ltEs7(x0, x1, ty_Int)
new_ltEs12(Just(x0), Just(x1), ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, ty_Float)
new_lt18(x0, x1)
new_lt13(x0, x1, app(ty_Maybe, x2))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Zero, Succ(x0))
new_esEs15(True, False)
new_esEs15(False, True)
new_esEs7(Just(x0), Just(x1), ty_Int)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, ty_Bool)
new_esEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs4(Right(x0), Right(x1), x2, ty_Char)
new_ltEs7(x0, x1, ty_Char)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt17(x0, x1)
new_asAs(True, x0)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs7(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Char)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs16(LT, LT)
new_compare17(x0, x1)
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_lt13(x0, x1, ty_Integer)
new_esEs7(Just(x0), Just(x1), ty_Char)
new_esEs26(x0, x1, ty_Ordering)
new_esEs18(x0, x1, ty_Integer)
new_sr0(Integer(x0), Integer(x1))
new_esEs28(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_esEs4(Left(x0), Right(x1), x2, x3)
new_esEs4(Right(x0), Left(x1), x2, x3)
new_ltEs10(x0, x1)
new_esEs22(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_Float)
new_lt12(x0, x1, x2, x3)
new_compare10(x0, x1, True)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_ltEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt6(x0, x1)
new_esEs25(x0, x1, app(ty_[], x2))
new_ltEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_lt13(x0, x1, ty_Bool)
new_ltEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs20(x0, x1, ty_Ordering)
new_lt14(x0, x1, ty_Integer)
new_ltEs11(x0, x1, x2)
new_ltEs12(Just(x0), Just(x1), ty_Double)
new_esEs26(x0, x1, app(ty_[], x2))
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_compare6(x0, x1, app(ty_Ratio, x2))
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8([], [], x0)
new_compare112(x0, x1, True, x2)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_asAs(False, x0)
new_compare6(x0, x1, app(ty_Maybe, x2))
new_lt13(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_@0)
new_primPlusNat1(Zero, Succ(x0))
new_compare6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), ty_@0, x2)
new_esEs4(Left(x0), Left(x1), ty_Char, x2)
new_compare6(x0, x1, ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, ty_Integer)
new_esEs7(Just(x0), Just(x1), ty_Integer)
new_ltEs5(Left(x0), Left(x1), ty_Float, x2)
new_compare14(Char(x0), Char(x1))
new_lt13(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs17(LT, GT)
new_ltEs17(GT, LT)
new_ltEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs23(x0, x1, ty_Float)
new_ltEs20(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_[], x2))
new_esEs12(Char(x0), Char(x1))
new_esEs23(x0, x1, ty_Char)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs28(x0, x1, ty_Ordering)
new_esEs4(Right(x0), Right(x1), x2, ty_@0)
new_esEs7(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Char)
new_compare0(:(x0, x1), [], x2)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs27(x0, x1, ty_Int)
new_esEs17(Double(x0, x1), Double(x2, x3))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpNat1(Succ(x0), Zero)
new_ltEs12(Just(x0), Just(x1), ty_Bool)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_compare6(x0, x1, ty_Double)
new_esEs7(Nothing, Nothing, x0)
new_ltEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Double)
new_compare24(x0, x1, False, x2, x3, x4)
new_primCmpNat1(Succ(x0), Succ(x1))
new_primPlusNat1(Succ(x0), Succ(x1))
new_ltEs12(Just(x0), Just(x1), ty_Char)
new_esEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs7(Just(x0), Just(x1), ty_Double)
new_ltEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_compare26(x0, x1, False, x2, x3)
new_ltEs7(x0, x1, ty_Float)
new_not(True)
new_esEs7(Just(x0), Just(x1), ty_Bool)
new_esEs24(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Char)
new_compare6(x0, x1, app(ty_[], x2))
new_esEs16(EQ, LT)
new_esEs16(LT, EQ)
new_compare12(:%(x0, x1), :%(x2, x3), ty_Int)
new_esEs21(x0, x1, ty_@0)
new_primCmpNat0(Succ(x0), x1)
new_esEs16(EQ, EQ)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Double)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_ltEs19(x0, x1, ty_Int)
new_not(False)
new_esEs6(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs25(x0, x1, ty_Integer)
new_ltEs12(Just(x0), Just(x1), ty_@0)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Int)
new_esEs23(x0, x1, ty_Ordering)
new_esEs26(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), ty_@0, x2)
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Bool)
new_primMulNat0(Succ(x0), Succ(x1))
new_lt14(x0, x1, ty_@0)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(x0, x1, ty_Float)
new_ltEs13(x0, x1)
new_esEs4(Right(x0), Right(x1), x2, ty_Float)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_lt14(x0, x1, ty_Ordering)
new_compare6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs16(EQ, GT)
new_esEs16(GT, EQ)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt7(x0, x1)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare18(x0, x1, x2, x3)
new_ltEs5(Right(x0), Right(x1), x2, ty_Int)
new_ltEs17(LT, EQ)
new_compare111(x0, x1, False, x2, x3)
new_ltEs17(EQ, LT)
new_esEs7(Just(x0), Nothing, x1)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_lt14(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Integer)
new_esEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs23(x0, x1, ty_Int)
new_compare112(x0, x1, False, x2)
new_esEs26(x0, x1, ty_@0)
new_ltEs5(Left(x0), Left(x1), ty_Int, x2)
new_esEs7(Just(x0), Just(x1), ty_@0)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs12(Nothing, Nothing, x0)
new_ltEs6(x0, x1)
new_ltEs12(Just(x0), Just(x1), ty_Int)
new_esEs19(x0, x1, ty_Integer)
new_compare0([], [], x0)
new_esEs24(x0, x1, ty_Double)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_lt14(x0, x1, ty_Double)
new_ltEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs23(x0, x1, ty_Bool)
new_esEs8([], :(x0, x1), x2)
new_ltEs19(x0, x1, ty_Integer)
new_primPlusNat0(Zero, x0)
new_primEqNat0(Zero, Succ(x0))
new_esEs25(x0, x1, ty_Double)
new_esEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs5(Left(x0), Left(x1), ty_Double, x2)
new_primCmpNat2(x0, Succ(x1))
new_esEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs11(:%(x0, x1), :%(x2, x3), x4)
new_esEs22(x0, x1, ty_Integer)
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_lt13(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_lt13(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare11(x0, x1, False)
new_esEs20(x0, x1, ty_Char)
new_ltEs17(EQ, EQ)
new_esEs22(x0, x1, ty_Char)
new_ltEs17(LT, LT)
new_esEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Bool)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_compare11(x0, x1, True)
new_esEs7(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Bool)
new_lt13(x0, x1, ty_Ordering)
new_esEs20(x0, x1, app(ty_Ratio, x2))

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ AND
                                        ↳ QDP
QDP
                                          ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_splitLT12(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, True, bb, bc) → new_splitLT0(ywz22, ywz23, bb, bc)
new_splitLT21(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, False, bb, bc) → new_splitLT12(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, new_esEs16(new_compare13(Just(ywz23), Just(ywz18), bb), GT), bb, bc)
new_splitLT3(Just(ywz400), ywz41, ywz42, ywz43, ywz44, Just(ywz500), h, ba) → new_splitLT21(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs16(new_compare27(Just(ywz500), Just(ywz400), new_esEs30(ywz500, ywz400, h), h), LT), h, ba)
new_splitLT20(ywz41, ywz42, ywz43, ywz44, ywz500, False, h, ba) → new_splitLT11(ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs16(new_compare13(Just(ywz500), Nothing, h), GT), h, ba)
new_splitLT20(ywz41, ywz42, Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz44, ywz500, True, h, ba) → new_splitLT3(ywz430, ywz431, ywz432, ywz433, ywz434, Just(ywz500), h, ba)
new_splitLT0(Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz500, h, ba) → new_splitLT3(ywz430, ywz431, ywz432, ywz433, ywz434, Just(ywz500), h, ba)
new_splitLT11(ywz41, ywz42, ywz43, ywz44, ywz500, True, h, ba) → new_splitLT0(ywz44, ywz500, h, ba)
new_splitLT3(Nothing, ywz41, ywz42, ywz43, ywz44, Just(ywz500), h, ba) → new_splitLT20(ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs16(new_compare27(Just(ywz500), Nothing, False, h), LT), h, ba)
new_splitLT21(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, True, bb, bc) → new_splitLT0(ywz21, ywz23, bb, bc)

The TRS R consists of the following rules:

new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(ty_@2, hc), hd), fb) → new_ltEs16(ywz5000, ywz4000, hc, hd)
new_esEs26(ywz5000, ywz4000, app(ty_[], bdg)) → new_esEs8(ywz5000, ywz4000, bdg)
new_esEs23(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs22(ywz5002, ywz4002, ty_Double) → new_esEs17(ywz5002, ywz4002)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_Maybe, cd)) → new_esEs7(ywz5000, ywz4000, cd)
new_ltEs7(ywz500, ywz400, app(ty_Ratio, ef)) → new_ltEs11(ywz500, ywz400, ef)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_esEs7(ywz5000, ywz4000, bba)
new_compare112(ywz95, ywz96, True, bdf) → LT
new_ltEs19(ywz5002, ywz4002, app(ty_[], bcd)) → new_ltEs8(ywz5002, ywz4002, bcd)
new_compare6(ywz5000, ywz4000, ty_Double) → new_compare25(ywz5000, ywz4000)
new_esEs16(EQ, GT) → False
new_esEs16(GT, EQ) → False
new_ltEs19(ywz5002, ywz4002, app(ty_Ratio, bcg)) → new_ltEs11(ywz5002, ywz4002, bcg)
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, bcb), bcc)) → new_esEs6(ywz5001, ywz4001, bcb, bcc)
new_ltEs20(ywz5001, ywz4001, ty_Int) → new_ltEs9(ywz5001, ywz4001)
new_ltEs15(True, False) → False
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs17(LT, LT) → True
new_esEs25(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(app(app(ty_@3, bbg), bbh), bca)) → new_esEs5(ywz5001, ywz4001, bbg, bbh, bca)
new_compare6(ywz5000, ywz4000, app(app(ty_@2, ed), ee)) → new_compare18(ywz5000, ywz4000, ed, ee)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Int) → new_ltEs9(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_[], dd)) → new_compare0(ywz5000, ywz4000, dd)
new_ltEs7(ywz500, ywz400, app(ty_[], dc)) → new_ltEs8(ywz500, ywz400, dc)
new_lt20(ywz5000, ywz4000, ty_Int) → new_lt10(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, ty_Integer) → new_compare15(ywz5000, ywz4000)
new_primCmpNat1(Zero, Succ(ywz400000)) → LT
new_lt14(ywz5000, ywz4000, app(app(ty_@2, ga), gb)) → new_lt4(ywz5000, ywz4000, ga, gb)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, ty_Integer) → new_esEs13(ywz500, ywz400)
new_lt19(ywz5000, ywz4000) → new_esEs16(new_compare25(ywz5000, ywz4000), LT)
new_esEs26(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_[], bh)) → new_esEs8(ywz5000, ywz4000, bh)
new_compare27(Just(ywz500), Just(ywz400), False, h) → new_compare112(ywz500, ywz400, new_ltEs7(ywz500, ywz400, h), h)
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_esEs7(ywz5000, ywz4000, bec)
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, app(app(ty_Either, eg), eh)) → new_lt12(ywz5000, ywz4000, eg, eh)
new_esEs22(ywz5002, ywz4002, ty_Char) → new_esEs12(ywz5002, ywz4002)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Double) → new_ltEs18(ywz5000, ywz4000)
new_ltEs10(ywz500, ywz400) → new_not(new_esEs16(new_compare8(ywz500, ywz400), GT))
new_ltEs12(Nothing, Nothing, bg) → True
new_primMulNat0(Zero, Zero) → Zero
new_esEs24(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs8(:(ywz5000, ywz5001), :(ywz4000, ywz4001), dc) → new_asAs(new_esEs25(ywz5000, ywz4000, dc), new_esEs8(ywz5001, ywz4001, dc))
new_lt13(ywz5001, ywz4001, ty_@0) → new_lt7(ywz5001, ywz4001)
new_lt20(ywz5000, ywz4000, ty_@0) → new_lt7(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Int, fb) → new_ltEs9(ywz5000, ywz4000)
new_compare29(ywz5000, ywz4000, True) → EQ
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(ty_[], he)) → new_esEs8(ywz5000, ywz4000, he)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs5(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), fc, fd, ff) → new_asAs(new_esEs20(ywz5000, ywz4000, fc), new_asAs(new_esEs21(ywz5001, ywz4001, fd), new_esEs22(ywz5002, ywz4002, ff)))
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(ty_[], he)) → new_ltEs8(ywz5000, ywz4000, he)
new_lt20(ywz5000, ywz4000, ty_Float) → new_lt6(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_Char) → new_ltEs6(ywz500, ywz400)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Integer) → new_ltEs13(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Float) → new_ltEs10(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(ty_Either, bdh), bea)) → new_lt12(ywz5000, ywz4000, bdh, bea)
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs30(ywz500, ywz400, ty_Double) → new_esEs17(ywz500, ywz400)
new_esEs30(ywz500, ywz400, app(ty_Ratio, ef)) → new_esEs11(ywz500, ywz400, ef)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_compare16(@0, @0) → EQ
new_compare29(ywz5000, ywz4000, False) → new_compare11(ywz5000, ywz4000, new_ltEs17(ywz5000, ywz4000))
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_Ratio, cc)) → new_esEs11(ywz5000, ywz4000, cc)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, eg), eh)) → new_esEs4(ywz5000, ywz4000, eg, eh)
new_esEs30(ywz500, ywz400, ty_Int) → new_esEs9(ywz500, ywz400)
new_esEs19(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(ty_@2, hc), hd), fb) → new_esEs6(ywz5000, ywz4000, hc, hd)
new_compare9(ywz5000, ywz4000, eg, eh) → new_compare26(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, eg, eh), eg, eh)
new_ltEs5(Left(ywz5000), Right(ywz4000), fa, fb) → True
new_lt14(ywz5000, ywz4000, ty_Int) → new_lt10(ywz5000, ywz4000)
new_compare0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), dc) → new_primCompAux0(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, dc), dc)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(ty_@2, da), db)) → new_esEs6(ywz5000, ywz4000, da, db)
new_ltEs7(ywz500, ywz400, ty_Double) → new_ltEs18(ywz500, ywz400)
new_primCmpNat1(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat1(ywz500000, ywz400000)
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(app(ty_Either, hf), hg)) → new_ltEs5(ywz5000, ywz4000, hf, hg)
new_lt14(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_lt5(ywz5000, ywz4000, bba)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Float, fb) → new_ltEs10(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, app(ty_Maybe, bch)) → new_ltEs12(ywz5002, ywz4002, bch)
new_ltEs13(ywz500, ywz400) → new_not(new_esEs16(new_compare15(ywz500, ywz400), GT))
new_compare6(ywz5000, ywz4000, ty_@0) → new_compare16(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, ga), gb)) → new_esEs6(ywz5000, ywz4000, ga, gb)
new_esEs28(ywz5001, ywz4001, app(app(app(ty_@3, bff), bfg), bfh)) → new_esEs5(ywz5001, ywz4001, bff, bfg, bfh)
new_esEs22(ywz5002, ywz4002, app(ty_[], bcd)) → new_esEs8(ywz5002, ywz4002, bcd)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_ltEs9(ywz500, ywz400) → new_not(new_esEs16(new_compare7(ywz500, ywz400), GT))
new_ltEs5(Right(ywz5000), Left(ywz4000), fa, fb) → False
new_ltEs19(ywz5002, ywz4002, ty_Char) → new_ltEs6(ywz5002, ywz4002)
new_ltEs17(EQ, LT) → False
new_pePe(False, ywz175) → ywz175
new_esEs27(ywz5000, ywz4000, app(ty_[], bdg)) → new_esEs8(ywz5000, ywz4000, bdg)
new_esEs25(ywz5000, ywz4000, app(app(ty_Either, de), df)) → new_esEs4(ywz5000, ywz4000, de, df)
new_esEs15(True, False) → False
new_esEs15(False, True) → False
new_ltEs15(True, True) → True
new_ltEs19(ywz5002, ywz4002, ty_Float) → new_ltEs10(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, app(app(ty_Either, bce), bcf)) → new_esEs4(ywz5002, ywz4002, bce, bcf)
new_compare6(ywz5000, ywz4000, ty_Bool) → new_compare17(ywz5000, ywz4000)
new_ltEs15(False, True) → True
new_esEs26(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(ty_Maybe, bbf)) → new_esEs7(ywz5001, ywz4001, bbf)
new_esEs30(ywz500, ywz400, ty_Bool) → new_esEs15(ywz500, ywz400)
new_lt13(ywz5001, ywz4001, ty_Integer) → new_lt8(ywz5001, ywz4001)
new_esEs23(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_esEs7(ywz5000, ywz4000, bba)
new_esEs10(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs9(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Integer, fb) → new_ltEs13(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_Ratio, cc)) → new_ltEs11(ywz5000, ywz4000, cc)
new_ltEs15(False, False) → True
new_esEs26(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_lt17(ywz5000, ywz4000) → new_esEs16(new_compare17(ywz5000, ywz4000), LT)
new_compare27(Nothing, Just(ywz400), False, h) → LT
new_esEs20(ywz5000, ywz4000, app(ty_[], bag)) → new_esEs8(ywz5000, ywz4000, bag)
new_esEs25(ywz5000, ywz4000, app(app(ty_@2, ed), ee)) → new_esEs6(ywz5000, ywz4000, ed, ee)
new_compare14(Char(ywz5000), Char(ywz4000)) → new_primCmpNat1(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Char, fb) → new_ltEs6(ywz5000, ywz4000)
new_compare18(ywz5000, ywz4000, ga, gb) → new_compare28(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, ga, gb), ga, gb)
new_esEs25(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Char, fb) → new_esEs12(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, app(app(app(ty_@3, bda), bdb), bdc)) → new_ltEs4(ywz5002, ywz4002, bda, bdb, bdc)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(ty_@2, da), db)) → new_ltEs16(ywz5000, ywz4000, da, db)
new_lt14(ywz5000, ywz4000, ty_Char) → new_lt15(ywz5000, ywz4000)
new_lt5(ywz50, ywz40, h) → new_esEs16(new_compare13(ywz50, ywz40, h), LT)
new_esEs30(ywz500, ywz400, ty_Float) → new_esEs10(ywz500, ywz400)
new_esEs28(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, app(app(ty_@2, bcb), bcc)) → new_esEs6(ywz5001, ywz4001, bcb, bcc)
new_compare0([], [], dc) → EQ
new_pePe(True, ywz175) → True
new_primEqNat0(Zero, Zero) → True
new_esEs19(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs14(@0, @0) → True
new_compare111(ywz5000, ywz4000, False, eg, eh) → GT
new_esEs28(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_compare17(ywz5000, ywz4000) → new_compare210(ywz5000, ywz4000, new_esEs15(ywz5000, ywz4000))
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_[], bh)) → new_ltEs8(ywz5000, ywz4000, bh)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_@0) → new_ltEs14(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_@0, fb) → new_ltEs14(ywz5000, ywz4000)
new_esEs16(LT, GT) → False
new_esEs16(GT, LT) → False
new_lt20(ywz5000, ywz4000, app(ty_[], bdg)) → new_lt9(ywz5000, ywz4000, bdg)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_ltEs17(GT, LT) → False
new_sr(ywz5001, ywz4001) → new_primMulInt(ywz5001, ywz4001)
new_compare7(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_primCmpNat1(Zero, Zero) → EQ
new_esEs30(ywz500, ywz400, ty_Char) → new_esEs12(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, ty_Integer) → new_ltEs13(ywz500, ywz400)
new_esEs24(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Int, fb) → new_esEs9(ywz5000, ywz4000)
new_ltEs20(ywz5001, ywz4001, app(ty_Ratio, bfd)) → new_ltEs11(ywz5001, ywz4001, bfd)
new_primPlusNat0(Succ(ywz1950), ywz400100) → Succ(Succ(new_primPlusNat1(ywz1950, ywz400100)))
new_ltEs11(ywz500, ywz400, ef) → new_not(new_esEs16(new_compare12(ywz500, ywz400, ef), GT))
new_ltEs19(ywz5002, ywz4002, ty_Bool) → new_ltEs15(ywz5002, ywz4002)
new_lt14(ywz5000, ywz4000, app(ty_Ratio, bah)) → new_lt11(ywz5000, ywz4000, bah)
new_esEs28(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs13(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_primCmpNat1(Succ(ywz500000), Zero) → GT
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(app(ty_Either, hf), hg)) → new_esEs4(ywz5000, ywz4000, hf, hg)
new_compare24(ywz5000, ywz4000, True, bd, be, bf) → EQ
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Ordering, fb) → new_ltEs17(ywz5000, ywz4000)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_ltEs20(ywz5001, ywz4001, app(app(app(ty_@3, bff), bfg), bfh)) → new_ltEs4(ywz5001, ywz4001, bff, bfg, bfh)
new_esEs24(ywz5001, ywz4001, app(ty_Ratio, bbe)) → new_esEs11(ywz5001, ywz4001, bbe)
new_lt20(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_lt11(ywz5000, ywz4000, beb)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs15(True, True) → True
new_compare113(ywz5000, ywz4000, True, ga, gb) → LT
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(ty_Either, gd), ge), fb) → new_esEs4(ywz5000, ywz4000, gd, ge)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, gh), ha), hb), fb) → new_esEs5(ywz5000, ywz4000, gh, ha, hb)
new_primCompAux0(ywz5000, ywz4000, ywz228, dc) → new_primCompAux00(ywz228, new_compare6(ywz5000, ywz4000, dc))
new_ltEs17(LT, GT) → True
new_primPlusNat1(Succ(ywz19500), Zero) → Succ(ywz19500)
new_primPlusNat1(Zero, Succ(ywz4001000)) → Succ(ywz4001000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Ordering) → new_ltEs17(ywz5000, ywz4000)
new_compare27(Just(ywz500), Nothing, False, h) → GT
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Float) → new_ltEs10(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_@0) → new_ltEs14(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_Ratio, dg)) → new_compare12(ywz5000, ywz4000, dg)
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, app(ty_[], bfa)) → new_esEs8(ywz5001, ywz4001, bfa)
new_lt13(ywz5001, ywz4001, ty_Float) → new_lt6(ywz5001, ywz4001)
new_compare27(Nothing, Nothing, False, h) → LT
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_lt18(ywz5000, ywz4000) → new_esEs16(new_compare19(ywz5000, ywz4000), LT)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_Ratio, gf), fb) → new_esEs11(ywz5000, ywz4000, gf)
new_compare6(ywz5000, ywz4000, ty_Char) → new_compare14(ywz5000, ywz4000)
new_primCmpNat0(Succ(ywz40000), ywz50000) → new_primCmpNat1(ywz40000, ywz50000)
new_esEs8([], [], dc) → True
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_lt20(ywz5000, ywz4000, ty_Integer) → new_lt8(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, ty_Ordering) → new_lt18(ywz5000, ywz4000)
new_compare26(ywz5000, ywz4000, True, eg, eh) → EQ
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Char) → new_ltEs6(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bbc), bbd)) → new_esEs4(ywz5001, ywz4001, bbc, bbd)
new_esEs22(ywz5002, ywz4002, app(app(app(ty_@3, bda), bdb), bdc)) → new_esEs5(ywz5002, ywz4002, bda, bdb, bdc)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_lt5(ywz5000, ywz4000, bec)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_ltEs17(EQ, EQ) → True
new_ltEs20(ywz5001, ywz4001, app(ty_[], bfa)) → new_ltEs8(ywz5001, ywz4001, bfa)
new_ltEs19(ywz5002, ywz4002, ty_Ordering) → new_ltEs17(ywz5002, ywz4002)
new_compare12(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare7(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_lt13(ywz5001, ywz4001, ty_Char) → new_lt15(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_Maybe, gg), fb) → new_ltEs12(ywz5000, ywz4000, gg)
new_esEs23(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_@0) → new_ltEs14(ywz500, ywz400)
new_ltEs8(ywz500, ywz400, dc) → new_not(new_esEs16(new_compare0(ywz500, ywz400, dc), GT))
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(ty_Either, gd), ge), fb) → new_ltEs5(ywz5000, ywz4000, gd, ge)
new_compare19(ywz5000, ywz4000) → new_compare29(ywz5000, ywz4000, new_esEs16(ywz5000, ywz4000))
new_lt15(ywz5000, ywz4000) → new_esEs16(new_compare14(ywz5000, ywz4000), LT)
new_esEs25(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(ty_[], dd)) → new_esEs8(ywz5000, ywz4000, dd)
new_lt9(ywz5000, ywz4000, bag) → new_esEs16(new_compare0(ywz5000, ywz4000, bag), LT)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_Ratio, gf), fb) → new_ltEs11(ywz5000, ywz4000, gf)
new_lt14(ywz5000, ywz4000, ty_Double) → new_lt19(ywz5000, ywz4000)
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_lt14(ywz5000, ywz4000, app(app(app(ty_@3, bd), be), bf)) → new_lt16(ywz5000, ywz4000, bd, be, bf)
new_esEs23(ywz5000, ywz4000, app(ty_[], bag)) → new_esEs8(ywz5000, ywz4000, bag)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Ordering, fb) → new_esEs16(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, app(app(ty_@2, fg), fh)) → new_ltEs16(ywz500, ywz400, fg, fh)
new_ltEs7(ywz500, ywz400, ty_Float) → new_ltEs10(ywz500, ywz400)
new_compare113(ywz5000, ywz4000, False, ga, gb) → GT
new_lt14(ywz5000, ywz4000, ty_Float) → new_lt6(ywz5000, ywz4000)
new_ltEs4(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), fc, fd, ff) → new_pePe(new_lt14(ywz5000, ywz4000, fc), new_asAs(new_esEs23(ywz5000, ywz4000, fc), new_pePe(new_lt13(ywz5001, ywz4001, fd), new_asAs(new_esEs24(ywz5001, ywz4001, fd), new_ltEs19(ywz5002, ywz4002, ff)))))
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_ltEs17(ywz5000, ywz4000)
new_primCompAux00(ywz280, LT) → LT
new_esEs23(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_esEs5(ywz5000, ywz4000, bed, bee, bef)
new_esEs7(Nothing, Nothing, bg) → True
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_esEs22(ywz5002, ywz4002, ty_Integer) → new_esEs13(ywz5002, ywz4002)
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, app(ty_Maybe, bfe)) → new_ltEs12(ywz5001, ywz4001, bfe)
new_ltEs20(ywz5001, ywz4001, ty_Integer) → new_ltEs13(ywz5001, ywz4001)
new_compare5(ywz5000, ywz4000, bd, be, bf) → new_compare24(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bd, be, bf), bd, be, bf)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Double, fb) → new_esEs17(ywz5000, ywz4000)
new_compare8(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare7(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs17(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs9(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(app(app(ty_@3, bab), bac), bad)) → new_esEs5(ywz5000, ywz4000, bab, bac, bad)
new_lt20(ywz5000, ywz4000, app(app(ty_@2, beg), beh)) → new_lt4(ywz5000, ywz4000, beg, beh)
new_lt12(ywz5000, ywz4000, eg, eh) → new_esEs16(new_compare9(ywz5000, ywz4000, eg, eh), LT)
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_ltEs20(ywz5001, ywz4001, ty_@0) → new_ltEs14(ywz5001, ywz4001)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(app(app(ty_@3, bab), bac), bad)) → new_ltEs4(ywz5000, ywz4000, bab, bac, bad)
new_sr0(Integer(ywz40000), Integer(ywz50010)) → Integer(new_primMulInt(ywz40000, ywz50010))
new_primPlusNat1(Succ(ywz19500), Succ(ywz4001000)) → Succ(Succ(new_primPlusNat1(ywz19500, ywz4001000)))
new_lt13(ywz5001, ywz4001, app(ty_Maybe, bbf)) → new_lt5(ywz5001, ywz4001, bbf)
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_compare28(ywz5000, ywz4000, True, ga, gb) → EQ
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_Maybe, cd)) → new_ltEs12(ywz5000, ywz4000, cd)
new_esEs7(Just(ywz5000), Nothing, bg) → False
new_esEs7(Nothing, Just(ywz4000), bg) → False
new_esEs25(ywz5000, ywz4000, app(ty_Ratio, dg)) → new_esEs11(ywz5000, ywz4000, dg)
new_compare6(ywz5000, ywz4000, app(app(ty_Either, de), df)) → new_compare9(ywz5000, ywz4000, de, df)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, ce), cf), cg)) → new_ltEs4(ywz5000, ywz4000, ce, cf, cg)
new_ltEs20(ywz5001, ywz4001, ty_Double) → new_ltEs18(ywz5001, ywz4001)
new_esEs25(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs22(ywz5002, ywz4002, app(app(ty_@2, bdd), bde)) → new_esEs6(ywz5002, ywz4002, bdd, bde)
new_esEs26(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_esEs11(ywz5000, ywz4000, beb)
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primCompAux00(ywz280, EQ) → ywz280
new_esEs23(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_lt11(ywz5000, ywz4000, bah) → new_esEs16(new_compare12(ywz5000, ywz4000, bah), LT)
new_esEs25(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_primCmpNat0(Zero, ywz50000) → LT
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, ty_Double) → new_ltEs18(ywz5002, ywz4002)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, app(ty_[], bbb)) → new_lt9(ywz5001, ywz4001, bbb)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Bool) → new_ltEs15(ywz5000, ywz4000)
new_ltEs14(ywz500, ywz400) → new_not(new_esEs16(new_compare16(ywz500, ywz400), GT))
new_compare6(ywz5000, ywz4000, ty_Float) → new_compare8(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(ty_Ratio, hh)) → new_ltEs11(ywz5000, ywz4000, hh)
new_ltEs6(ywz500, ywz400) → new_not(new_esEs16(new_compare14(ywz500, ywz400), GT))
new_esEs12(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, app(app(ty_Either, bbc), bbd)) → new_lt12(ywz5001, ywz4001, bbc, bbd)
new_not(False) → True
new_esEs30(ywz500, ywz400, ty_@0) → new_esEs14(ywz500, ywz400)
new_esEs23(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs18(ywz500, ywz400) → new_not(new_esEs16(new_compare25(ywz500, ywz400), GT))
new_primPlusNat0(Zero, ywz400100) → Succ(ywz400100)
new_esEs23(ywz5000, ywz4000, app(app(ty_@2, ga), gb)) → new_esEs6(ywz5000, ywz4000, ga, gb)
new_compare210(ywz5000, ywz4000, False) → new_compare10(ywz5000, ywz4000, new_ltEs15(ywz5000, ywz4000))
new_esEs30(ywz500, ywz400, app(app(ty_Either, fa), fb)) → new_esEs4(ywz500, ywz400, fa, fb)
new_esEs11(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ef) → new_asAs(new_esEs18(ywz5000, ywz4000, ef), new_esEs19(ywz5001, ywz4001, ef))
new_esEs16(LT, EQ) → False
new_esEs16(EQ, LT) → False
new_esEs25(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(ty_[], bbb)) → new_esEs8(ywz5001, ywz4001, bbb)
new_compare25(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare7(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Double) → new_ltEs18(ywz5000, ywz4000)
new_compare0(:(ywz5000, ywz5001), [], dc) → GT
new_ltEs16(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), fg, fh) → new_pePe(new_lt20(ywz5000, ywz4000, fg), new_asAs(new_esEs26(ywz5000, ywz4000, fg), new_ltEs20(ywz5001, ywz4001, fh)))
new_esEs23(ywz5000, ywz4000, app(ty_Ratio, bah)) → new_esEs11(ywz5000, ywz4000, bah)
new_lt20(ywz5000, ywz4000, ty_Ordering) → new_lt18(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_Bool) → new_ltEs15(ywz500, ywz400)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(app(ty_@2, bae), baf)) → new_esEs6(ywz5000, ywz4000, bae, baf)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_[], gc), fb) → new_esEs8(ywz5000, ywz4000, gc)
new_lt13(ywz5001, ywz4001, ty_Ordering) → new_lt18(ywz5001, ywz4001)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, bah)) → new_esEs11(ywz5000, ywz4000, bah)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, bd), be), bf)) → new_esEs5(ywz5000, ywz4000, bd, be, bf)
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_ltEs19(ywz5002, ywz4002, ty_Int) → new_ltEs9(ywz5002, ywz4002)
new_esEs28(ywz5001, ywz4001, app(ty_Maybe, bfe)) → new_esEs7(ywz5001, ywz4001, bfe)
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bbg), bbh), bca)) → new_esEs5(ywz5001, ywz4001, bbg, bbh, bca)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat0(Zero, ywz40000)
new_ltEs7(ywz500, ywz400, app(app(ty_Either, fa), fb)) → new_ltEs5(ywz500, ywz400, fa, fb)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bbf)) → new_esEs7(ywz5001, ywz4001, bbf)
new_primMulInt(Pos(ywz50010), Pos(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Bool, fb) → new_esEs15(ywz5000, ywz4000)
new_esEs18(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, app(app(ty_Either, eg), eh)) → new_esEs4(ywz5000, ywz4000, eg, eh)
new_lt7(ywz5000, ywz4000) → new_esEs16(new_compare16(ywz5000, ywz4000), LT)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_Maybe, gg), fb) → new_esEs7(ywz5000, ywz4000, gg)
new_compare13(ywz50, ywz40, h) → new_compare27(ywz50, ywz40, new_esEs7(ywz50, ywz40, h), h)
new_primMulInt(Neg(ywz50010), Neg(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, beg), beh)) → new_esEs6(ywz5000, ywz4000, beg, beh)
new_esEs16(EQ, EQ) → True
new_esEs24(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_esEs26(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, app(app(ty_Either, bce), bcf)) → new_ltEs5(ywz5002, ywz4002, bce, bcf)
new_esEs30(ywz500, ywz400, app(ty_Maybe, bg)) → new_esEs7(ywz500, ywz400, bg)
new_primEqNat0(Succ(ywz50000), Zero) → False
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, app(ty_Ratio, bbe)) → new_lt11(ywz5001, ywz4001, bbe)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs7(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(app(ty_Either, bbc), bbd)) → new_esEs4(ywz5001, ywz4001, bbc, bbd)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, bdh), bea)) → new_esEs4(ywz5000, ywz4000, bdh, bea)
new_compare210(ywz5000, ywz4000, True) → EQ
new_esEs22(ywz5002, ywz4002, ty_Int) → new_esEs9(ywz5002, ywz4002)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Float, fb) → new_esEs10(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Bool, fb) → new_ltEs15(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, ty_Integer) → new_lt8(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat2(ywz40000, Zero)
new_lt14(ywz5000, ywz4000, app(ty_[], bag)) → new_lt9(ywz5000, ywz4000, bag)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Char) → new_ltEs6(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, ty_Double) → new_lt19(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_compare12(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare15(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_[], gc), fb) → new_ltEs8(ywz5000, ywz4000, gc)
new_compare6(ywz5000, ywz4000, app(app(app(ty_@3, ea), eb), ec)) → new_compare5(ywz5000, ywz4000, ea, eb, ec)
new_compare6(ywz5000, ywz4000, ty_Ordering) → new_compare19(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, app(app(ty_@2, bcb), bcc)) → new_lt4(ywz5001, ywz4001, bcb, bcc)
new_esEs26(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs28(ywz5001, ywz4001, app(app(ty_@2, bga), bgb)) → new_esEs6(ywz5001, ywz4001, bga, bgb)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(ty_Either, ca), cb)) → new_ltEs5(ywz5000, ywz4000, ca, cb)
new_lt14(ywz5000, ywz4000, ty_Bool) → new_lt17(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(ty_Maybe, dh)) → new_esEs7(ywz5000, ywz4000, dh)
new_lt10(ywz5000, ywz4000) → new_esEs16(new_compare7(ywz5000, ywz4000), LT)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, ce), cf), cg)) → new_esEs5(ywz5000, ywz4000, ce, cf, cg)
new_ltEs20(ywz5001, ywz4001, ty_Ordering) → new_ltEs17(ywz5001, ywz4001)
new_esEs25(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Integer, fb) → new_esEs13(ywz5000, ywz4000)
new_primCmpNat2(ywz50000, Succ(ywz40000)) → new_primCmpNat1(ywz50000, ywz40000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Double, fb) → new_ltEs18(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_ltEs7(ywz500, ywz400, ty_Int) → new_ltEs9(ywz500, ywz400)
new_esEs30(ywz500, ywz400, ty_Ordering) → new_esEs16(ywz500, ywz400)
new_lt13(ywz5001, ywz4001, ty_Int) → new_lt10(ywz5001, ywz4001)
new_esEs16(LT, LT) → True
new_asAs(False, ywz102) → False
new_lt20(ywz5000, ywz4000, ty_Double) → new_lt19(ywz5000, ywz4000)
new_primMulInt(Neg(ywz50010), Pos(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Pos(ywz50010), Neg(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulNat0(Succ(ywz500100), Zero) → Zero
new_primMulNat0(Zero, Succ(ywz400100)) → Zero
new_ltEs20(ywz5001, ywz4001, ty_Bool) → new_ltEs15(ywz5001, ywz4001)
new_esEs26(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs22(ywz5002, ywz4002, ty_Ordering) → new_esEs16(ywz5002, ywz4002)
new_esEs16(GT, GT) → True
new_primCmpNat2(ywz50000, Zero) → GT
new_esEs24(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_esEs23(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_esEs7(ywz5000, ywz4000, bec)
new_lt8(ywz5000, ywz4000) → new_esEs16(new_compare15(ywz5000, ywz4000), LT)
new_compare110(ywz5000, ywz4000, True, bd, be, bf) → LT
new_esEs25(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs28(ywz5001, ywz4001, app(app(ty_Either, bfb), bfc)) → new_esEs4(ywz5001, ywz4001, bfb, bfc)
new_esEs23(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(ty_Maybe, baa)) → new_esEs7(ywz5000, ywz4000, baa)
new_esEs21(ywz5001, ywz4001, app(ty_[], bbb)) → new_esEs8(ywz5001, ywz4001, bbb)
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_compare26(ywz5000, ywz4000, False, eg, eh) → new_compare111(ywz5000, ywz4000, new_ltEs5(ywz5000, ywz4000, eg, eh), eg, eh)
new_esEs28(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_ltEs12(Nothing, Just(ywz4000), bg) → True
new_esEs30(ywz500, ywz400, app(ty_[], dc)) → new_esEs8(ywz500, ywz400, dc)
new_ltEs17(GT, GT) → True
new_ltEs19(ywz5002, ywz4002, ty_@0) → new_ltEs14(ywz5002, ywz4002)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(ty_Either, ca), cb)) → new_esEs4(ywz5000, ywz4000, ca, cb)
new_esEs24(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_ltEs17(GT, EQ) → False
new_esEs4(Right(ywz5000), Right(ywz4000), fa, app(ty_Ratio, hh)) → new_esEs11(ywz5000, ywz4000, hh)
new_esEs22(ywz5002, ywz4002, ty_Bool) → new_esEs15(ywz5002, ywz4002)
new_lt13(ywz5001, ywz4001, app(app(app(ty_@3, bbg), bbh), bca)) → new_lt16(ywz5001, ywz4001, bbg, bbh, bca)
new_esEs28(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_lt20(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_lt16(ywz5000, ywz4000, bed, bee, bef)
new_esEs18(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Float) → new_ltEs10(ywz5001, ywz4001)
new_lt16(ywz5000, ywz4000, bd, be, bf) → new_esEs16(new_compare5(ywz5000, ywz4000, bd, be, bf), LT)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs10(ywz5000, ywz4000)
new_compare11(ywz5000, ywz4000, False) → GT
new_esEs30(ywz500, ywz400, app(app(ty_@2, fg), fh)) → new_esEs6(ywz500, ywz400, fg, fh)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Bool) → new_ltEs15(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_Ordering) → new_ltEs17(ywz500, ywz400)
new_compare11(ywz5000, ywz4000, True) → LT
new_esEs22(ywz5002, ywz4002, ty_@0) → new_esEs14(ywz5002, ywz4002)
new_esEs25(ywz5000, ywz4000, app(app(app(ty_@3, ea), eb), ec)) → new_esEs5(ywz5000, ywz4000, ea, eb, ec)
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat0(ywz4000, ywz50000)
new_compare28(ywz5000, ywz4000, False, ga, gb) → new_compare113(ywz5000, ywz4000, new_ltEs16(ywz5000, ywz4000, ga, gb), ga, gb)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(app(ty_@2, bae), baf)) → new_ltEs16(ywz5000, ywz4000, bae, baf)
new_lt13(ywz5001, ywz4001, ty_Bool) → new_lt17(ywz5001, ywz4001)
new_lt6(ywz5000, ywz4000) → new_esEs16(new_compare8(ywz5000, ywz4000), LT)
new_esEs28(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_compare112(ywz95, ywz96, False, bdf) → GT
new_compare27(ywz50, ywz40, True, h) → EQ
new_esEs22(ywz5002, ywz4002, ty_Float) → new_esEs10(ywz5002, ywz4002)
new_lt14(ywz5000, ywz4000, ty_@0) → new_lt7(ywz5000, ywz4000)
new_esEs28(ywz5001, ywz4001, app(ty_Ratio, bfd)) → new_esEs11(ywz5001, ywz4001, bfd)
new_esEs26(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_esEs11(ywz5000, ywz4000, beb)
new_esEs28(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Char) → new_ltEs6(ywz5001, ywz4001)
new_esEs4(Right(ywz5000), Right(ywz4000), fa, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_compare15(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, ty_Int) → new_compare7(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, app(ty_Maybe, baa)) → new_ltEs12(ywz5000, ywz4000, baa)
new_compare0([], :(ywz4000, ywz4001), dc) → LT
new_compare111(ywz5000, ywz4000, True, eg, eh) → LT
new_primPlusNat1(Zero, Zero) → Zero
new_ltEs19(ywz5002, ywz4002, app(app(ty_@2, bdd), bde)) → new_ltEs16(ywz5002, ywz4002, bdd, bde)
new_esEs26(ywz5000, ywz4000, app(app(ty_Either, bdh), bea)) → new_esEs4(ywz5000, ywz4000, bdh, bea)
new_asAs(True, ywz102) → ywz102
new_primMulNat0(Succ(ywz500100), Succ(ywz400100)) → new_primPlusNat0(new_primMulNat0(ywz500100, Succ(ywz400100)), ywz400100)
new_esEs26(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_esEs5(ywz5000, ywz4000, bed, bee, bef)
new_ltEs17(LT, EQ) → True
new_esEs4(Left(ywz5000), Right(ywz4000), fa, fb) → False
new_esEs4(Right(ywz5000), Left(ywz4000), fa, fb) → False
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Int) → new_ltEs9(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Nothing, bg) → False
new_lt20(ywz5000, ywz4000, ty_Bool) → new_lt17(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Char) → new_lt15(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_Maybe, dh)) → new_compare13(ywz5000, ywz4000, dh)
new_compare24(ywz5000, ywz4000, False, bd, be, bf) → new_compare110(ywz5000, ywz4000, new_ltEs4(ywz5000, ywz4000, bd, be, bf), bd, be, bf)
new_ltEs19(ywz5002, ywz4002, ty_Integer) → new_ltEs13(ywz5002, ywz4002)
new_esEs26(ywz5000, ywz4000, app(app(ty_@2, beg), beh)) → new_esEs6(ywz5000, ywz4000, beg, beh)
new_esEs23(ywz5000, ywz4000, app(app(app(ty_@3, bd), be), bf)) → new_esEs5(ywz5000, ywz4000, bd, be, bf)
new_lt4(ywz5000, ywz4000, ga, gb) → new_esEs16(new_compare18(ywz5000, ywz4000, ga, gb), LT)
new_ltEs7(ywz500, ywz400, app(app(app(ty_@3, fc), fd), ff)) → new_ltEs4(ywz500, ywz400, fc, fd, ff)
new_compare10(ywz5000, ywz4000, True) → LT
new_esEs9(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_esEs30(ywz500, ywz400, app(app(app(ty_@3, fc), fd), ff)) → new_esEs5(ywz500, ywz400, fc, fd, ff)
new_ltEs17(EQ, GT) → True
new_compare110(ywz5000, ywz4000, False, bd, be, bf) → GT
new_compare10(ywz5000, ywz4000, False) → GT
new_ltEs20(ywz5001, ywz4001, app(app(ty_@2, bga), bgb)) → new_ltEs16(ywz5001, ywz4001, bga, bgb)
new_primCompAux00(ywz280, GT) → GT
new_esEs4(Left(ywz5000), Left(ywz4000), ty_@0, fb) → new_esEs14(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bbe)) → new_esEs11(ywz5001, ywz4001, bbe)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, gh), ha), hb), fb) → new_ltEs4(ywz5000, ywz4000, gh, ha, hb)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs8([], :(ywz4000, ywz4001), dc) → False
new_esEs8(:(ywz5000, ywz5001), [], dc) → False
new_ltEs5(Right(ywz5000), Right(ywz4000), fa, ty_Integer) → new_ltEs13(ywz5000, ywz4000)
new_ltEs20(ywz5001, ywz4001, app(app(ty_Either, bfb), bfc)) → new_ltEs5(ywz5001, ywz4001, bfb, bfc)
new_esEs22(ywz5002, ywz4002, app(ty_Ratio, bcg)) → new_esEs11(ywz5002, ywz4002, bcg)
new_esEs6(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), fg, fh) → new_asAs(new_esEs27(ywz5000, ywz4000, fg), new_esEs28(ywz5001, ywz4001, fh))
new_esEs28(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat2(ywz50000, ywz4000)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs22(ywz5002, ywz4002, app(ty_Maybe, bch)) → new_esEs7(ywz5002, ywz4002, bch)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_not(True) → False
new_ltEs7(ywz500, ywz400, app(ty_Maybe, bg)) → new_ltEs12(ywz500, ywz400, bg)
new_esEs15(False, False) → True

The set Q consists of the following terms:

new_esEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_sr(x0, x1)
new_lt13(x0, x1, ty_@0)
new_esEs7(Just(x0), Just(x1), app(ty_Maybe, x2))
new_lt13(x0, x1, app(ty_[], x2))
new_esEs20(x0, x1, ty_Double)
new_lt14(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs7(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), ty_Int, x2)
new_compare25(Double(x0, x1), Double(x2, x3))
new_esEs24(x0, x1, ty_Ordering)
new_esEs28(x0, x1, ty_Int)
new_lt14(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(x0, x1, ty_Bool)
new_primCmpNat1(Zero, Succ(x0))
new_esEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs30(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Int)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs24(x0, x1, ty_Bool)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_compare0(:(x0, x1), :(x2, x3), x4)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs7(x0, x1, ty_@0)
new_ltEs12(Just(x0), Nothing, x1)
new_esEs27(x0, x1, ty_Bool)
new_esEs8(:(x0, x1), :(x2, x3), x4)
new_primPlusNat1(Succ(x0), Zero)
new_esEs15(True, True)
new_lt13(x0, x1, app(ty_Ratio, x2))
new_ltEs17(EQ, GT)
new_ltEs17(GT, EQ)
new_primMulNat0(Succ(x0), Zero)
new_ltEs7(x0, x1, ty_Integer)
new_primPlusNat0(Succ(x0), x1)
new_compare6(x0, x1, ty_Int)
new_esEs13(Integer(x0), Integer(x1))
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs5(Right(x0), Right(x1), x2, ty_Double)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_esEs4(Left(x0), Left(x1), ty_Integer, x2)
new_primCompAux0(x0, x1, x2, x3)
new_ltEs15(True, True)
new_ltEs19(x0, x1, ty_Ordering)
new_compare27(Just(x0), Just(x1), False, x2)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, ty_Float)
new_esEs7(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt19(x0, x1)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_compare24(x0, x1, True, x2, x3, x4)
new_esEs30(x0, x1, ty_Ordering)
new_ltEs14(x0, x1)
new_esEs30(x0, x1, ty_Int)
new_esEs15(False, False)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_lt8(x0, x1)
new_esEs20(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs18(x0, x1, ty_Int)
new_ltEs15(False, False)
new_compare113(x0, x1, False, x2, x3)
new_ltEs19(x0, x1, ty_Double)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs16(LT, GT)
new_esEs16(GT, LT)
new_esEs4(Left(x0), Left(x1), ty_Float, x2)
new_esEs28(x0, x1, ty_@0)
new_compare6(x0, x1, ty_Float)
new_ltEs5(Right(x0), Right(x1), x2, ty_Char)
new_ltEs20(x0, x1, ty_@0)
new_esEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_compare28(x0, x1, False, x2, x3)
new_lt20(x0, x1, ty_Int)
new_primEqNat0(Succ(x0), Succ(x1))
new_primCmpNat0(Zero, x0)
new_pePe(True, x0)
new_ltEs5(Left(x0), Left(x1), ty_Bool, x2)
new_compare110(x0, x1, True, x2, x3, x4)
new_esEs23(x0, x1, ty_Double)
new_ltEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt20(x0, x1, ty_Integer)
new_esEs9(x0, x1)
new_compare7(x0, x1)
new_ltEs19(x0, x1, ty_Float)
new_esEs5(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Float)
new_ltEs12(Just(x0), Just(x1), app(ty_[], x2))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_compare5(x0, x1, x2, x3, x4)
new_compare210(x0, x1, False)
new_ltEs7(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpNat1(Zero, Zero)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt14(x0, x1, app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), ty_Float)
new_esEs23(x0, x1, ty_Integer)
new_compare9(x0, x1, x2, x3)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_ltEs20(x0, x1, ty_Double)
new_ltEs7(x0, x1, app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_compare13(x0, x1, x2)
new_ltEs5(Right(x0), Right(x1), x2, ty_@0)
new_esEs7(Just(x0), Just(x1), app(ty_[], x2))
new_compare27(Nothing, Nothing, False, x0)
new_lt13(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, ty_Float)
new_esEs4(Left(x0), Left(x1), ty_Bool, x2)
new_lt9(x0, x1, x2)
new_esEs7(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs10(Float(x0, x1), Float(x2, x3))
new_primEqNat0(Zero, Zero)
new_esEs24(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, ty_Int)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_lt14(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_primCompAux00(x0, GT)
new_compare27(Nothing, Just(x0), False, x1)
new_compare10(x0, x1, False)
new_ltEs5(Left(x0), Left(x1), ty_Integer, x2)
new_primCompAux00(x0, EQ)
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_primMulNat0(Zero, Zero)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_compare6(x0, x1, ty_Integer)
new_lt20(x0, x1, ty_@0)
new_esEs30(x0, x1, ty_Char)
new_ltEs5(Right(x0), Right(x1), x2, ty_Bool)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_ltEs5(Left(x0), Left(x1), ty_Char, x2)
new_esEs28(x0, x1, ty_Char)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_esEs4(Left(x0), Left(x1), ty_Double, x2)
new_compare19(x0, x1)
new_esEs25(x0, x1, ty_Int)
new_compare8(Float(x0, x1), Float(x2, x3))
new_esEs7(Nothing, Just(x0), x1)
new_esEs16(GT, GT)
new_esEs25(x0, x1, ty_Char)
new_lt13(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_ltEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(Just(x0), Just(x1), ty_Integer)
new_ltEs16(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_lt13(x0, x1, ty_Double)
new_esEs14(@0, @0)
new_ltEs18(x0, x1)
new_compare27(Just(x0), Nothing, False, x1)
new_primMulInt(Neg(x0), Neg(x1))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Float)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs24(x0, x1, ty_Char)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_esEs7(Just(x0), Just(x1), ty_Ordering)
new_ltEs20(x0, x1, ty_Integer)
new_ltEs8(x0, x1, x2)
new_compare12(:%(x0, x1), :%(x2, x3), ty_Integer)
new_lt5(x0, x1, x2)
new_esEs21(x0, x1, ty_Double)
new_esEs22(x0, x1, ty_@0)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs12(Nothing, Just(x0), x1)
new_lt14(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8(:(x0, x1), [], x2)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare16(@0, @0)
new_esEs4(Right(x0), Right(x1), x2, ty_Int)
new_esEs20(x0, x1, ty_@0)
new_pePe(False, x0)
new_ltEs7(x0, x1, ty_Double)
new_compare28(x0, x1, True, x2, x3)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs21(x0, x1, ty_Integer)
new_esEs30(x0, x1, ty_Bool)
new_esEs22(x0, x1, ty_Double)
new_ltEs19(x0, x1, ty_Char)
new_esEs19(x0, x1, ty_Int)
new_compare29(x0, x1, True)
new_compare15(Integer(x0), Integer(x1))
new_compare29(x0, x1, False)
new_ltEs4(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt16(x0, x1, x2, x3, x4)
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpNat2(x0, Zero)
new_compare6(x0, x1, ty_@0)
new_compare113(x0, x1, True, x2, x3)
new_primPlusNat1(Zero, Zero)
new_ltEs9(x0, x1)
new_compare27(x0, x1, True, x2)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_compare6(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs21(x0, x1, ty_Ordering)
new_esEs24(x0, x1, ty_Integer)
new_ltEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(x0, x1, ty_Char)
new_ltEs19(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs28(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_compare0([], :(x0, x1), x2)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs19(x0, x1, ty_Bool)
new_ltEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs26(x0, x1, ty_Bool)
new_primCompAux00(x0, LT)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_lt20(x0, x1, ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt10(x0, x1)
new_lt4(x0, x1, x2, x3)
new_lt11(x0, x1, x2)
new_ltEs7(x0, x1, ty_Bool)
new_lt14(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_@0)
new_compare26(x0, x1, True, x2, x3)
new_esEs26(x0, x1, ty_Integer)
new_ltEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_lt15(x0, x1)
new_ltEs7(x0, x1, app(ty_Maybe, x2))
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(Left(x0), Right(x1), x2, x3)
new_ltEs5(Right(x0), Left(x1), x2, x3)
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Ordering)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt14(x0, x1, app(ty_Maybe, x2))
new_compare111(x0, x1, True, x2, x3)
new_ltEs15(False, True)
new_ltEs15(True, False)
new_ltEs17(GT, GT)
new_lt14(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Int)
new_lt14(x0, x1, ty_Bool)
new_esEs25(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_compare110(x0, x1, False, x2, x3, x4)
new_esEs4(Right(x0), Right(x1), x2, ty_Integer)
new_esEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_compare210(x0, x1, True)
new_esEs20(x0, x1, ty_Int)
new_esEs7(Just(x0), Just(x1), ty_Float)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Double)
new_esEs22(x0, x1, ty_Int)
new_ltEs7(x0, x1, ty_Int)
new_ltEs12(Just(x0), Just(x1), ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, ty_Float)
new_lt18(x0, x1)
new_lt13(x0, x1, app(ty_Maybe, x2))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Zero, Succ(x0))
new_esEs15(True, False)
new_esEs15(False, True)
new_esEs7(Just(x0), Just(x1), ty_Int)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, ty_Bool)
new_esEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs4(Right(x0), Right(x1), x2, ty_Char)
new_ltEs7(x0, x1, ty_Char)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt17(x0, x1)
new_asAs(True, x0)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs7(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Char)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs16(LT, LT)
new_compare17(x0, x1)
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_lt13(x0, x1, ty_Integer)
new_esEs7(Just(x0), Just(x1), ty_Char)
new_esEs26(x0, x1, ty_Ordering)
new_esEs18(x0, x1, ty_Integer)
new_sr0(Integer(x0), Integer(x1))
new_esEs28(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_esEs4(Left(x0), Right(x1), x2, x3)
new_esEs4(Right(x0), Left(x1), x2, x3)
new_ltEs10(x0, x1)
new_esEs22(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_Float)
new_lt12(x0, x1, x2, x3)
new_compare10(x0, x1, True)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, ty_@0)
new_ltEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt6(x0, x1)
new_esEs25(x0, x1, app(ty_[], x2))
new_ltEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_lt13(x0, x1, ty_Bool)
new_ltEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs20(x0, x1, ty_Ordering)
new_lt14(x0, x1, ty_Integer)
new_ltEs11(x0, x1, x2)
new_ltEs12(Just(x0), Just(x1), ty_Double)
new_esEs26(x0, x1, app(ty_[], x2))
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_compare6(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8([], [], x0)
new_compare112(x0, x1, True, x2)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_asAs(False, x0)
new_compare6(x0, x1, app(ty_Maybe, x2))
new_lt13(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_@0)
new_primPlusNat1(Zero, Succ(x0))
new_compare6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), ty_@0, x2)
new_esEs4(Left(x0), Left(x1), ty_Char, x2)
new_compare6(x0, x1, ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, ty_Integer)
new_esEs7(Just(x0), Just(x1), ty_Integer)
new_ltEs5(Left(x0), Left(x1), ty_Float, x2)
new_compare14(Char(x0), Char(x1))
new_lt13(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs17(LT, GT)
new_ltEs17(GT, LT)
new_ltEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs23(x0, x1, ty_Float)
new_ltEs20(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_[], x2))
new_esEs12(Char(x0), Char(x1))
new_esEs23(x0, x1, ty_Char)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs28(x0, x1, ty_Ordering)
new_esEs4(Right(x0), Right(x1), x2, ty_@0)
new_esEs7(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Char)
new_compare0(:(x0, x1), [], x2)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs27(x0, x1, ty_Int)
new_esEs17(Double(x0, x1), Double(x2, x3))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, app(ty_[], x2))
new_primCmpNat1(Succ(x0), Zero)
new_ltEs12(Just(x0), Just(x1), ty_Bool)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_compare6(x0, x1, ty_Double)
new_esEs7(Nothing, Nothing, x0)
new_ltEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Double)
new_compare24(x0, x1, False, x2, x3, x4)
new_primCmpNat1(Succ(x0), Succ(x1))
new_primPlusNat1(Succ(x0), Succ(x1))
new_ltEs12(Just(x0), Just(x1), ty_Char)
new_esEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs7(Just(x0), Just(x1), ty_Double)
new_ltEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_compare26(x0, x1, False, x2, x3)
new_ltEs7(x0, x1, ty_Float)
new_not(True)
new_esEs7(Just(x0), Just(x1), ty_Bool)
new_esEs24(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Char)
new_compare6(x0, x1, app(ty_[], x2))
new_esEs16(EQ, LT)
new_esEs16(LT, EQ)
new_compare12(:%(x0, x1), :%(x2, x3), ty_Int)
new_esEs21(x0, x1, ty_@0)
new_primCmpNat0(Succ(x0), x1)
new_esEs16(EQ, EQ)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Double)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_ltEs19(x0, x1, ty_Int)
new_not(False)
new_esEs6(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs25(x0, x1, ty_Integer)
new_ltEs12(Just(x0), Just(x1), ty_@0)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Int)
new_esEs23(x0, x1, ty_Ordering)
new_esEs26(x0, x1, ty_Char)
new_ltEs5(Left(x0), Left(x1), ty_@0, x2)
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Bool)
new_primMulNat0(Succ(x0), Succ(x1))
new_lt14(x0, x1, ty_@0)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(x0, x1, ty_Float)
new_ltEs13(x0, x1)
new_esEs4(Right(x0), Right(x1), x2, ty_Float)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_lt14(x0, x1, ty_Ordering)
new_compare6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs16(EQ, GT)
new_esEs16(GT, EQ)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt7(x0, x1)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare18(x0, x1, x2, x3)
new_ltEs5(Right(x0), Right(x1), x2, ty_Int)
new_ltEs17(LT, EQ)
new_compare111(x0, x1, False, x2, x3)
new_ltEs17(EQ, LT)
new_esEs7(Just(x0), Nothing, x1)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_lt14(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Integer)
new_esEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs30(x0, x1, ty_Integer)
new_esEs30(x0, x1, ty_Float)
new_esEs23(x0, x1, ty_Int)
new_compare112(x0, x1, False, x2)
new_esEs26(x0, x1, ty_@0)
new_ltEs5(Left(x0), Left(x1), ty_Int, x2)
new_esEs7(Just(x0), Just(x1), ty_@0)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs12(Nothing, Nothing, x0)
new_ltEs6(x0, x1)
new_ltEs12(Just(x0), Just(x1), ty_Int)
new_esEs19(x0, x1, ty_Integer)
new_compare0([], [], x0)
new_esEs24(x0, x1, ty_Double)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_lt14(x0, x1, ty_Double)
new_ltEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs23(x0, x1, ty_Bool)
new_esEs8([], :(x0, x1), x2)
new_ltEs19(x0, x1, ty_Integer)
new_primPlusNat0(Zero, x0)
new_primEqNat0(Zero, Succ(x0))
new_esEs25(x0, x1, ty_Double)
new_esEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs5(Left(x0), Left(x1), ty_Double, x2)
new_primCmpNat2(x0, Succ(x1))
new_esEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs11(:%(x0, x1), :%(x2, x3), x4)
new_esEs22(x0, x1, ty_Integer)
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_lt13(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_lt13(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare11(x0, x1, False)
new_esEs20(x0, x1, ty_Char)
new_ltEs17(EQ, EQ)
new_esEs22(x0, x1, ty_Char)
new_ltEs17(LT, LT)
new_esEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Bool)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_compare11(x0, x1, True)
new_esEs7(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Bool)
new_lt13(x0, x1, ty_Ordering)
new_esEs20(x0, x1, app(ty_Ratio, x2))

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_plusFM_CNew_elt01(ywz288, ywz289, ywz290, ywz291, ywz292, ywz293, ywz294, ywz295, ywz296, ywz297, ywz298, ywz299, ywz300, bd, be) → new_plusFM_CNew_elt0(ywz288, ywz289, ywz290, ywz291, ywz292, ywz293, ywz294, ywz295, ywz296, ywz297, ywz298, ywz299, ywz300, new_lt21(ywz295, ywz296, be), bd, be)
new_plusFM_CNew_elt0(ywz316, ywz317, ywz318, ywz319, ywz320, ywz321, ywz322, ywz323, ywz324, ywz325, ywz326, ywz327, ywz328, False, h, ba) → new_plusFM_CNew_elt00(ywz316, ywz317, ywz318, ywz319, ywz320, ywz321, ywz322, ywz323, ywz324, ywz325, ywz326, ywz327, ywz328, new_gt0(ywz323, ywz324, ba), h, ba)
new_plusFM_CNew_elt0(ywz316, ywz317, ywz318, ywz319, ywz320, ywz321, ywz322, ywz323, ywz324, ywz325, ywz326, Branch(ywz3270, ywz3271, ywz3272, ywz3273, ywz3274), ywz328, True, h, ba) → new_plusFM_CNew_elt01(ywz316, ywz317, ywz318, ywz319, ywz320, ywz321, ywz322, ywz323, ywz3270, ywz3271, ywz3272, ywz3273, ywz3274, h, ba)
new_plusFM_CNew_elt00(ywz351, ywz352, ywz353, ywz354, ywz355, ywz356, ywz357, ywz358, ywz359, ywz360, ywz361, ywz362, ywz363, True, bb, bc) → new_plusFM_CNew_elt02(ywz351, ywz352, ywz353, ywz354, ywz355, ywz356, ywz357, ywz358, ywz363, bb, bc)
new_plusFM_CNew_elt02(ywz316, ywz317, ywz318, ywz319, ywz320, ywz321, ywz322, ywz323, Branch(ywz3270, ywz3271, ywz3272, ywz3273, ywz3274), h, ba) → new_plusFM_CNew_elt01(ywz316, ywz317, ywz318, ywz319, ywz320, ywz321, ywz322, ywz323, ywz3270, ywz3271, ywz3272, ywz3273, ywz3274, h, ba)

The TRS R consists of the following rules:

new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(ty_@2, bah), bba), ff) → new_ltEs16(ywz5000, ywz4000, bah, bba)
new_esEs26(ywz5000, ywz4000, app(ty_[], bgf)) → new_esEs8(ywz5000, ywz4000, bgf)
new_esEs23(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs22(ywz5002, ywz4002, ty_Double) → new_esEs17(ywz5002, ywz4002)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_Maybe, cf)) → new_esEs7(ywz5000, ywz4000, cf)
new_ltEs7(ywz500, ywz400, app(ty_Ratio, eh)) → new_ltEs11(ywz500, ywz400, eh)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bcf)) → new_esEs7(ywz5000, ywz4000, bcf)
new_ltEs19(ywz5002, ywz4002, app(ty_[], bea)) → new_ltEs8(ywz5002, ywz4002, bea)
new_compare112(ywz95, ywz96, True, bge) → LT
new_compare6(ywz5000, ywz4000, ty_Double) → new_compare25(ywz5000, ywz4000)
new_esEs16(EQ, GT) → False
new_esEs16(GT, EQ) → False
new_ltEs19(ywz5002, ywz4002, app(ty_Ratio, bed)) → new_ltEs11(ywz5002, ywz4002, bed)
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, bdg), bdh)) → new_esEs6(ywz5001, ywz4001, bdg, bdh)
new_ltEs20(ywz5001, ywz4001, ty_Int) → new_ltEs9(ywz5001, ywz4001)
new_ltEs15(True, False) → False
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs17(LT, LT) → True
new_esEs25(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(app(app(ty_@3, bdd), bde), bdf)) → new_esEs5(ywz5001, ywz4001, bdd, bde, bdf)
new_compare6(ywz5000, ywz4000, app(app(ty_@2, ef), eg)) → new_compare18(ywz5000, ywz4000, ef, eg)
new_ltEs5(Right(ywz5000), Right(ywz4000), fd, ty_Int) → new_ltEs9(ywz5000, ywz4000)
new_gt0(ywz323, ywz324, app(ty_[], bfc)) → new_esEs16(new_compare0(ywz323, ywz324, bfc), GT)
new_compare6(ywz5000, ywz4000, app(ty_[], df)) → new_compare0(ywz5000, ywz4000, df)
new_ltEs7(ywz500, ywz400, app(ty_[], de)) → new_ltEs8(ywz500, ywz400, de)
new_lt20(ywz5000, ywz4000, ty_Int) → new_lt10(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, ty_Integer) → new_compare15(ywz5000, ywz4000)
new_primCmpNat1(Zero, Succ(ywz400000)) → LT
new_lt14(ywz5000, ywz4000, app(app(ty_@2, gd), ge)) → new_lt4(ywz5000, ywz4000, gd, ge)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_lt19(ywz5000, ywz4000) → new_esEs16(new_compare25(ywz5000, ywz4000), LT)
new_esEs26(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_[], cb)) → new_esEs8(ywz5000, ywz4000, cb)
new_compare27(Just(ywz500), Just(ywz400), False, fc) → new_compare112(ywz500, ywz400, new_ltEs7(ywz500, ywz400, fc), fc)
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, bhb)) → new_esEs7(ywz5000, ywz4000, bhb)
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, app(app(ty_Either, fa), fb)) → new_lt12(ywz5000, ywz4000, fa, fb)
new_esEs22(ywz5002, ywz4002, ty_Char) → new_esEs12(ywz5002, ywz4002)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Double) → new_ltEs18(ywz5000, ywz4000)
new_ltEs10(ywz500, ywz400) → new_not(new_esEs16(new_compare8(ywz500, ywz400), GT))
new_ltEs12(Nothing, Nothing, ca) → True
new_primMulNat0(Zero, Zero) → Zero
new_esEs24(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs8(:(ywz5000, ywz5001), :(ywz4000, ywz4001), de) → new_asAs(new_esEs25(ywz5000, ywz4000, de), new_esEs8(ywz5001, ywz4001, de))
new_lt13(ywz5001, ywz4001, ty_@0) → new_lt7(ywz5001, ywz4001)
new_gt0(ywz323, ywz324, ty_@0) → new_esEs16(new_compare16(ywz323, ywz324), GT)
new_lt20(ywz5000, ywz4000, ty_@0) → new_lt7(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Int, ff) → new_ltEs9(ywz5000, ywz4000)
new_lt21(ywz295, ywz296, ty_@0) → new_lt7(ywz295, ywz296)
new_compare29(ywz5000, ywz4000, True) → EQ
new_esEs4(Right(ywz5000), Right(ywz4000), fd, app(ty_[], bbb)) → new_esEs8(ywz5000, ywz4000, bbb)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_gt0(ywz323, ywz324, ty_Float) → new_esEs16(new_compare8(ywz323, ywz324), GT)
new_esEs5(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), fg, fh, ga) → new_asAs(new_esEs20(ywz5000, ywz4000, fg), new_asAs(new_esEs21(ywz5001, ywz4001, fh), new_esEs22(ywz5002, ywz4002, ga)))
new_esEs4(Right(ywz5000), Right(ywz4000), fd, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fd, app(ty_[], bbb)) → new_ltEs8(ywz5000, ywz4000, bbb)
new_lt20(ywz5000, ywz4000, ty_Float) → new_lt6(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_Char) → new_ltEs6(ywz500, ywz400)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Integer) → new_ltEs13(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fd, ty_Float) → new_ltEs10(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(ty_Either, bgg), bgh)) → new_lt12(ywz5000, ywz4000, bgg, bgh)
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_compare16(@0, @0) → EQ
new_compare29(ywz5000, ywz4000, False) → new_compare11(ywz5000, ywz4000, new_ltEs17(ywz5000, ywz4000))
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_Ratio, ce)) → new_esEs11(ywz5000, ywz4000, ce)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, fa), fb)) → new_esEs4(ywz5000, ywz4000, fa, fb)
new_esEs19(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(ty_@2, bah), bba), ff) → new_esEs6(ywz5000, ywz4000, bah, bba)
new_compare9(ywz5000, ywz4000, fa, fb) → new_compare26(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, fa, fb), fa, fb)
new_ltEs5(Left(ywz5000), Right(ywz4000), fd, ff) → True
new_lt14(ywz5000, ywz4000, ty_Int) → new_lt10(ywz5000, ywz4000)
new_compare0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), de) → new_primCompAux0(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, de), de)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(ty_@2, dc), dd)) → new_esEs6(ywz5000, ywz4000, dc, dd)
new_ltEs7(ywz500, ywz400, ty_Double) → new_ltEs18(ywz500, ywz400)
new_primCmpNat1(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat1(ywz500000, ywz400000)
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fd, app(app(ty_Either, bbc), bbd)) → new_ltEs5(ywz5000, ywz4000, bbc, bbd)
new_lt14(ywz5000, ywz4000, app(ty_Maybe, bcf)) → new_lt5(ywz5000, ywz4000, bcf)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Float, ff) → new_ltEs10(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, app(ty_Maybe, bee)) → new_ltEs12(ywz5002, ywz4002, bee)
new_ltEs13(ywz500, ywz400) → new_not(new_esEs16(new_compare15(ywz500, ywz400), GT))
new_compare6(ywz5000, ywz4000, ty_@0) → new_compare16(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, gd), ge)) → new_esEs6(ywz5000, ywz4000, gd, ge)
new_esEs28(ywz5001, ywz4001, app(app(app(ty_@3, cae), caf), cag)) → new_esEs5(ywz5001, ywz4001, cae, caf, cag)
new_esEs22(ywz5002, ywz4002, app(ty_[], bea)) → new_esEs8(ywz5002, ywz4002, bea)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_ltEs9(ywz500, ywz400) → new_not(new_esEs16(new_compare7(ywz500, ywz400), GT))
new_ltEs5(Right(ywz5000), Left(ywz4000), fd, ff) → False
new_ltEs19(ywz5002, ywz4002, ty_Char) → new_ltEs6(ywz5002, ywz4002)
new_ltEs17(EQ, LT) → False
new_pePe(False, ywz175) → ywz175
new_esEs27(ywz5000, ywz4000, app(ty_[], bgf)) → new_esEs8(ywz5000, ywz4000, bgf)
new_esEs25(ywz5000, ywz4000, app(app(ty_Either, dg), dh)) → new_esEs4(ywz5000, ywz4000, dg, dh)
new_gt0(ywz323, ywz324, app(app(ty_@2, bfd), bfe)) → new_esEs16(new_compare18(ywz323, ywz324, bfd, bfe), GT)
new_esEs15(True, False) → False
new_esEs15(False, True) → False
new_ltEs15(True, True) → True
new_gt0(ywz323, ywz324, ty_Integer) → new_esEs16(new_compare15(ywz323, ywz324), GT)
new_ltEs19(ywz5002, ywz4002, ty_Float) → new_ltEs10(ywz5002, ywz4002)
new_esEs22(ywz5002, ywz4002, app(app(ty_Either, beb), bec)) → new_esEs4(ywz5002, ywz4002, beb, bec)
new_compare6(ywz5000, ywz4000, ty_Bool) → new_compare17(ywz5000, ywz4000)
new_ltEs15(False, True) → True
new_esEs26(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(ty_Maybe, bdc)) → new_esEs7(ywz5001, ywz4001, bdc)
new_lt13(ywz5001, ywz4001, ty_Integer) → new_lt8(ywz5001, ywz4001)
new_esEs23(ywz5000, ywz4000, app(ty_Maybe, bcf)) → new_esEs7(ywz5000, ywz4000, bcf)
new_esEs10(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs9(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_lt21(ywz295, ywz296, ty_Ordering) → new_lt18(ywz295, ywz296)
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Integer, ff) → new_ltEs13(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_Ratio, ce)) → new_ltEs11(ywz5000, ywz4000, ce)
new_ltEs15(False, False) → True
new_esEs26(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_lt17(ywz5000, ywz4000) → new_esEs16(new_compare17(ywz5000, ywz4000), LT)
new_compare27(Nothing, Just(ywz400), False, fc) → LT
new_esEs20(ywz5000, ywz4000, app(ty_[], bcd)) → new_esEs8(ywz5000, ywz4000, bcd)
new_esEs25(ywz5000, ywz4000, app(app(ty_@2, ef), eg)) → new_esEs6(ywz5000, ywz4000, ef, eg)
new_compare14(Char(ywz5000), Char(ywz4000)) → new_primCmpNat1(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Char, ff) → new_ltEs6(ywz5000, ywz4000)
new_compare18(ywz5000, ywz4000, gd, ge) → new_compare28(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, gd, ge), gd, ge)
new_esEs25(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Char, ff) → new_esEs12(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, app(app(app(ty_@3, bef), beg), beh)) → new_ltEs4(ywz5002, ywz4002, bef, beg, beh)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(ty_@2, dc), dd)) → new_ltEs16(ywz5000, ywz4000, dc, dd)
new_lt14(ywz5000, ywz4000, ty_Char) → new_lt15(ywz5000, ywz4000)
new_lt5(ywz50, ywz40, fc) → new_esEs16(new_compare13(ywz50, ywz40, fc), LT)
new_esEs28(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, app(app(ty_@2, bdg), bdh)) → new_esEs6(ywz5001, ywz4001, bdg, bdh)
new_compare0([], [], de) → EQ
new_pePe(True, ywz175) → True
new_primEqNat0(Zero, Zero) → True
new_esEs19(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs14(@0, @0) → True
new_lt21(ywz295, ywz296, ty_Double) → new_lt19(ywz295, ywz296)
new_compare111(ywz5000, ywz4000, False, fa, fb) → GT
new_esEs28(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_compare17(ywz5000, ywz4000) → new_compare210(ywz5000, ywz4000, new_esEs15(ywz5000, ywz4000))
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_[], cb)) → new_ltEs8(ywz5000, ywz4000, cb)
new_ltEs5(Right(ywz5000), Right(ywz4000), fd, ty_@0) → new_ltEs14(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_@0, ff) → new_ltEs14(ywz5000, ywz4000)
new_esEs16(LT, GT) → False
new_esEs16(GT, LT) → False
new_lt20(ywz5000, ywz4000, app(ty_[], bgf)) → new_lt9(ywz5000, ywz4000, bgf)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_ltEs17(GT, LT) → False
new_sr(ywz5001, ywz4001) → new_primMulInt(ywz5001, ywz4001)
new_gt(ywz50, ywz40, fc) → new_esEs16(new_compare13(ywz50, ywz40, fc), GT)
new_compare7(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_primCmpNat1(Zero, Zero) → EQ
new_ltEs7(ywz500, ywz400, ty_Integer) → new_ltEs13(ywz500, ywz400)
new_esEs24(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Int, ff) → new_esEs9(ywz5000, ywz4000)
new_ltEs20(ywz5001, ywz4001, app(ty_Ratio, cac)) → new_ltEs11(ywz5001, ywz4001, cac)
new_primPlusNat0(Succ(ywz1950), ywz400100) → Succ(Succ(new_primPlusNat1(ywz1950, ywz400100)))
new_ltEs11(ywz500, ywz400, eh) → new_not(new_esEs16(new_compare12(ywz500, ywz400, eh), GT))
new_ltEs19(ywz5002, ywz4002, ty_Bool) → new_ltEs15(ywz5002, ywz4002)
new_lt14(ywz5000, ywz4000, app(ty_Ratio, bce)) → new_lt11(ywz5000, ywz4000, bce)
new_esEs28(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_esEs4(Right(ywz5000), Right(ywz4000), fd, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs13(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_primCmpNat1(Succ(ywz500000), Zero) → GT
new_esEs4(Right(ywz5000), Right(ywz4000), fd, app(app(ty_Either, bbc), bbd)) → new_esEs4(ywz5000, ywz4000, bbc, bbd)
new_compare24(ywz5000, ywz4000, True, bf, bg, bh) → EQ
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Ordering, ff) → new_ltEs17(ywz5000, ywz4000)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_ltEs20(ywz5001, ywz4001, app(app(app(ty_@3, cae), caf), cag)) → new_ltEs4(ywz5001, ywz4001, cae, caf, cag)
new_esEs24(ywz5001, ywz4001, app(ty_Ratio, bdb)) → new_esEs11(ywz5001, ywz4001, bdb)
new_lt20(ywz5000, ywz4000, app(ty_Ratio, bha)) → new_lt11(ywz5000, ywz4000, bha)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs15(True, True) → True
new_compare113(ywz5000, ywz4000, True, gd, ge) → LT
new_esEs4(Right(ywz5000), Right(ywz4000), fd, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(ty_Either, baa), bab), ff) → new_esEs4(ywz5000, ywz4000, baa, bab)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, bae), baf), bag), ff) → new_esEs5(ywz5000, ywz4000, bae, baf, bag)
new_primCompAux0(ywz5000, ywz4000, ywz228, de) → new_primCompAux00(ywz228, new_compare6(ywz5000, ywz4000, de))
new_ltEs17(LT, GT) → True
new_primPlusNat1(Succ(ywz19500), Zero) → Succ(ywz19500)
new_primPlusNat1(Zero, Succ(ywz4001000)) → Succ(ywz4001000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fd, ty_Ordering) → new_ltEs17(ywz5000, ywz4000)
new_compare27(Just(ywz500), Nothing, False, fc) → GT
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Float) → new_ltEs10(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_@0) → new_ltEs14(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_Ratio, ea)) → new_compare12(ywz5000, ywz4000, ea)
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, app(ty_[], bhh)) → new_esEs8(ywz5001, ywz4001, bhh)
new_lt13(ywz5001, ywz4001, ty_Float) → new_lt6(ywz5001, ywz4001)
new_compare27(Nothing, Nothing, False, fc) → LT
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_lt18(ywz5000, ywz4000) → new_esEs16(new_compare19(ywz5000, ywz4000), LT)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_Ratio, bac), ff) → new_esEs11(ywz5000, ywz4000, bac)
new_compare6(ywz5000, ywz4000, ty_Char) → new_compare14(ywz5000, ywz4000)
new_gt0(ywz323, ywz324, app(ty_Ratio, bga)) → new_esEs16(new_compare12(ywz323, ywz324, bga), GT)
new_primCmpNat0(Succ(ywz40000), ywz50000) → new_primCmpNat1(ywz40000, ywz50000)
new_esEs8([], [], de) → True
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_lt20(ywz5000, ywz4000, ty_Integer) → new_lt8(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, ty_Ordering) → new_lt18(ywz5000, ywz4000)
new_compare26(ywz5000, ywz4000, True, fa, fb) → EQ
new_ltEs5(Right(ywz5000), Right(ywz4000), fd, ty_Char) → new_ltEs6(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bch), bda)) → new_esEs4(ywz5001, ywz4001, bch, bda)
new_esEs22(ywz5002, ywz4002, app(app(app(ty_@3, bef), beg), beh)) → new_esEs5(ywz5002, ywz4002, bef, beg, beh)
new_lt21(ywz295, ywz296, app(ty_[], gf)) → new_lt9(ywz295, ywz296, gf)
new_esEs4(Right(ywz5000), Right(ywz4000), fd, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(ty_Maybe, bhb)) → new_lt5(ywz5000, ywz4000, bhb)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_ltEs17(EQ, EQ) → True
new_ltEs20(ywz5001, ywz4001, app(ty_[], bhh)) → new_ltEs8(ywz5001, ywz4001, bhh)
new_ltEs19(ywz5002, ywz4002, ty_Ordering) → new_ltEs17(ywz5002, ywz4002)
new_compare12(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare7(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_lt13(ywz5001, ywz4001, ty_Char) → new_lt15(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_Maybe, bad), ff) → new_ltEs12(ywz5000, ywz4000, bad)
new_esEs23(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_@0) → new_ltEs14(ywz500, ywz400)
new_ltEs8(ywz500, ywz400, de) → new_not(new_esEs16(new_compare0(ywz500, ywz400, de), GT))
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(ty_Either, baa), bab), ff) → new_ltEs5(ywz5000, ywz4000, baa, bab)
new_compare19(ywz5000, ywz4000) → new_compare29(ywz5000, ywz4000, new_esEs16(ywz5000, ywz4000))
new_lt15(ywz5000, ywz4000) → new_esEs16(new_compare14(ywz5000, ywz4000), LT)
new_esEs25(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(ty_[], df)) → new_esEs8(ywz5000, ywz4000, df)
new_lt9(ywz5000, ywz4000, bcd) → new_esEs16(new_compare0(ywz5000, ywz4000, bcd), LT)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_Ratio, bac), ff) → new_ltEs11(ywz5000, ywz4000, bac)
new_lt14(ywz5000, ywz4000, ty_Double) → new_lt19(ywz5000, ywz4000)
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_lt14(ywz5000, ywz4000, app(app(app(ty_@3, bf), bg), bh)) → new_lt16(ywz5000, ywz4000, bf, bg, bh)
new_esEs23(ywz5000, ywz4000, app(ty_[], bcd)) → new_esEs8(ywz5000, ywz4000, bcd)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Ordering, ff) → new_esEs16(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, app(app(ty_@2, gb), gc)) → new_ltEs16(ywz500, ywz400, gb, gc)
new_ltEs7(ywz500, ywz400, ty_Float) → new_ltEs10(ywz500, ywz400)
new_compare113(ywz5000, ywz4000, False, gd, ge) → GT
new_lt14(ywz5000, ywz4000, ty_Float) → new_lt6(ywz5000, ywz4000)
new_ltEs4(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), fg, fh, ga) → new_pePe(new_lt14(ywz5000, ywz4000, fg), new_asAs(new_esEs23(ywz5000, ywz4000, fg), new_pePe(new_lt13(ywz5001, ywz4001, fh), new_asAs(new_esEs24(ywz5001, ywz4001, fh), new_ltEs19(ywz5002, ywz4002, ga)))))
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_primCompAux00(ywz280, LT) → LT
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_ltEs17(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, bhc), bhd), bhe)) → new_esEs5(ywz5000, ywz4000, bhc, bhd, bhe)
new_gt0(ywz323, ywz324, ty_Int) → new_gt1(ywz323, ywz324)
new_esEs7(Nothing, Nothing, ca) → True
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_esEs22(ywz5002, ywz4002, ty_Integer) → new_esEs13(ywz5002, ywz4002)
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, app(ty_Maybe, cad)) → new_ltEs12(ywz5001, ywz4001, cad)
new_ltEs20(ywz5001, ywz4001, ty_Integer) → new_ltEs13(ywz5001, ywz4001)
new_compare5(ywz5000, ywz4000, bf, bg, bh) → new_compare24(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bf, bg, bh), bf, bg, bh)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Double, ff) → new_esEs17(ywz5000, ywz4000)
new_compare8(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare7(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs17(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs9(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs4(Right(ywz5000), Right(ywz4000), fd, app(app(app(ty_@3, bbg), bbh), bca)) → new_esEs5(ywz5000, ywz4000, bbg, bbh, bca)
new_lt20(ywz5000, ywz4000, app(app(ty_@2, bhf), bhg)) → new_lt4(ywz5000, ywz4000, bhf, bhg)
new_lt12(ywz5000, ywz4000, fa, fb) → new_esEs16(new_compare9(ywz5000, ywz4000, fa, fb), LT)
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_ltEs20(ywz5001, ywz4001, ty_@0) → new_ltEs14(ywz5001, ywz4001)
new_ltEs5(Right(ywz5000), Right(ywz4000), fd, app(app(app(ty_@3, bbg), bbh), bca)) → new_ltEs4(ywz5000, ywz4000, bbg, bbh, bca)
new_sr0(Integer(ywz40000), Integer(ywz50010)) → Integer(new_primMulInt(ywz40000, ywz50010))
new_lt21(ywz295, ywz296, ty_Integer) → new_lt8(ywz295, ywz296)
new_primPlusNat1(Succ(ywz19500), Succ(ywz4001000)) → Succ(Succ(new_primPlusNat1(ywz19500, ywz4001000)))
new_lt13(ywz5001, ywz4001, app(ty_Maybe, bdc)) → new_lt5(ywz5001, ywz4001, bdc)
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_compare28(ywz5000, ywz4000, True, gd, ge) → EQ
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_Maybe, cf)) → new_ltEs12(ywz5000, ywz4000, cf)
new_esEs7(Just(ywz5000), Nothing, ca) → False
new_esEs7(Nothing, Just(ywz4000), ca) → False
new_esEs25(ywz5000, ywz4000, app(ty_Ratio, ea)) → new_esEs11(ywz5000, ywz4000, ea)
new_compare6(ywz5000, ywz4000, app(app(ty_Either, dg), dh)) → new_compare9(ywz5000, ywz4000, dg, dh)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cg), da), db)) → new_ltEs4(ywz5000, ywz4000, cg, da, db)
new_ltEs20(ywz5001, ywz4001, ty_Double) → new_ltEs18(ywz5001, ywz4001)
new_lt21(ywz295, ywz296, app(app(ty_Either, ha), hb)) → new_lt12(ywz295, ywz296, ha, hb)
new_esEs25(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs22(ywz5002, ywz4002, app(app(ty_@2, bfa), bfb)) → new_esEs6(ywz5002, ywz4002, bfa, bfb)
new_lt21(ywz295, ywz296, ty_Float) → new_lt6(ywz295, ywz296)
new_esEs26(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, bha)) → new_esEs11(ywz5000, ywz4000, bha)
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primCompAux00(ywz280, EQ) → ywz280
new_esEs23(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_lt11(ywz5000, ywz4000, bce) → new_esEs16(new_compare12(ywz5000, ywz4000, bce), LT)
new_lt21(ywz295, ywz296, app(app(app(ty_@3, he), hf), hg)) → new_lt16(ywz295, ywz296, he, hf, hg)
new_esEs25(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_primCmpNat0(Zero, ywz50000) → LT
new_esEs4(Right(ywz5000), Right(ywz4000), fd, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, ty_Double) → new_ltEs18(ywz5002, ywz4002)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, app(ty_[], bcg)) → new_lt9(ywz5001, ywz4001, bcg)
new_esEs4(Right(ywz5000), Right(ywz4000), fd, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fd, ty_Bool) → new_ltEs15(ywz5000, ywz4000)
new_ltEs14(ywz500, ywz400) → new_not(new_esEs16(new_compare16(ywz500, ywz400), GT))
new_compare6(ywz5000, ywz4000, ty_Float) → new_compare8(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fd, app(ty_Ratio, bbe)) → new_ltEs11(ywz5000, ywz4000, bbe)
new_ltEs6(ywz500, ywz400) → new_not(new_esEs16(new_compare14(ywz500, ywz400), GT))
new_lt21(ywz295, ywz296, ty_Bool) → new_lt17(ywz295, ywz296)
new_esEs12(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, app(app(ty_Either, bch), bda)) → new_lt12(ywz5001, ywz4001, bch, bda)
new_not(False) → True
new_gt0(ywz323, ywz324, app(app(ty_Either, bff), bfg)) → new_esEs16(new_compare9(ywz323, ywz324, bff, bfg), GT)
new_gt0(ywz323, ywz324, ty_Double) → new_esEs16(new_compare25(ywz323, ywz324), GT)
new_esEs23(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs18(ywz500, ywz400) → new_not(new_esEs16(new_compare25(ywz500, ywz400), GT))
new_primPlusNat0(Zero, ywz400100) → Succ(ywz400100)
new_esEs23(ywz5000, ywz4000, app(app(ty_@2, gd), ge)) → new_esEs6(ywz5000, ywz4000, gd, ge)
new_compare210(ywz5000, ywz4000, False) → new_compare10(ywz5000, ywz4000, new_ltEs15(ywz5000, ywz4000))
new_esEs11(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), eh) → new_asAs(new_esEs18(ywz5000, ywz4000, eh), new_esEs19(ywz5001, ywz4001, eh))
new_esEs16(LT, EQ) → False
new_esEs16(EQ, LT) → False
new_esEs25(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(ty_[], bcg)) → new_esEs8(ywz5001, ywz4001, bcg)
new_compare25(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare7(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fd, ty_Double) → new_ltEs18(ywz5000, ywz4000)
new_compare0(:(ywz5000, ywz5001), [], de) → GT
new_ltEs16(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), gb, gc) → new_pePe(new_lt20(ywz5000, ywz4000, gb), new_asAs(new_esEs26(ywz5000, ywz4000, gb), new_ltEs20(ywz5001, ywz4001, gc)))
new_esEs23(ywz5000, ywz4000, app(ty_Ratio, bce)) → new_esEs11(ywz5000, ywz4000, bce)
new_lt20(ywz5000, ywz4000, ty_Ordering) → new_lt18(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_Bool) → new_ltEs15(ywz500, ywz400)
new_esEs4(Right(ywz5000), Right(ywz4000), fd, app(app(ty_@2, bcb), bcc)) → new_esEs6(ywz5000, ywz4000, bcb, bcc)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_[], hh), ff) → new_esEs8(ywz5000, ywz4000, hh)
new_lt13(ywz5001, ywz4001, ty_Ordering) → new_lt18(ywz5001, ywz4001)
new_lt21(ywz295, ywz296, app(ty_Maybe, hc)) → new_lt5(ywz295, ywz296, hc)
new_gt1(ywz225, ywz224) → new_esEs16(new_compare7(ywz225, ywz224), GT)
new_esEs4(Right(ywz5000), Right(ywz4000), fd, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, bce)) → new_esEs11(ywz5000, ywz4000, bce)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, bf), bg), bh)) → new_esEs5(ywz5000, ywz4000, bf, bg, bh)
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_ltEs19(ywz5002, ywz4002, ty_Int) → new_ltEs9(ywz5002, ywz4002)
new_esEs28(ywz5001, ywz4001, app(ty_Maybe, cad)) → new_esEs7(ywz5001, ywz4001, cad)
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bdd), bde), bdf)) → new_esEs5(ywz5001, ywz4001, bdd, bde, bdf)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat0(Zero, ywz40000)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bdc)) → new_esEs7(ywz5001, ywz4001, bdc)
new_ltEs7(ywz500, ywz400, app(app(ty_Either, fd), ff)) → new_ltEs5(ywz500, ywz400, fd, ff)
new_primMulInt(Pos(ywz50010), Pos(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Bool, ff) → new_esEs15(ywz5000, ywz4000)
new_esEs18(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, app(app(ty_Either, fa), fb)) → new_esEs4(ywz5000, ywz4000, fa, fb)
new_lt21(ywz295, ywz296, ty_Int) → new_lt10(ywz295, ywz296)
new_lt7(ywz5000, ywz4000) → new_esEs16(new_compare16(ywz5000, ywz4000), LT)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_Maybe, bad), ff) → new_esEs7(ywz5000, ywz4000, bad)
new_compare13(ywz50, ywz40, fc) → new_compare27(ywz50, ywz40, new_esEs7(ywz50, ywz40, fc), fc)
new_primMulInt(Neg(ywz50010), Neg(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, bhf), bhg)) → new_esEs6(ywz5000, ywz4000, bhf, bhg)
new_esEs16(EQ, EQ) → True
new_esEs24(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_esEs26(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, app(app(ty_Either, beb), bec)) → new_ltEs5(ywz5002, ywz4002, beb, bec)
new_primEqNat0(Succ(ywz50000), Zero) → False
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, app(ty_Ratio, bdb)) → new_lt11(ywz5001, ywz4001, bdb)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs7(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(app(ty_Either, bch), bda)) → new_esEs4(ywz5001, ywz4001, bch, bda)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, bgg), bgh)) → new_esEs4(ywz5000, ywz4000, bgg, bgh)
new_esEs22(ywz5002, ywz4002, ty_Int) → new_esEs9(ywz5002, ywz4002)
new_compare210(ywz5000, ywz4000, True) → EQ
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Float, ff) → new_esEs10(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Bool, ff) → new_ltEs15(ywz5000, ywz4000)
new_lt14(ywz5000, ywz4000, ty_Integer) → new_lt8(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat2(ywz40000, Zero)
new_lt14(ywz5000, ywz4000, app(ty_[], bcd)) → new_lt9(ywz5000, ywz4000, bcd)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Char) → new_ltEs6(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, ty_Double) → new_lt19(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_compare12(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare15(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_[], hh), ff) → new_ltEs8(ywz5000, ywz4000, hh)
new_compare6(ywz5000, ywz4000, app(app(app(ty_@3, ec), ed), ee)) → new_compare5(ywz5000, ywz4000, ec, ed, ee)
new_compare6(ywz5000, ywz4000, ty_Ordering) → new_compare19(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, app(app(ty_@2, bdg), bdh)) → new_lt4(ywz5001, ywz4001, bdg, bdh)
new_esEs26(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs28(ywz5001, ywz4001, app(app(ty_@2, cah), cba)) → new_esEs6(ywz5001, ywz4001, cah, cba)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(ty_Either, cc), cd)) → new_ltEs5(ywz5000, ywz4000, cc, cd)
new_lt14(ywz5000, ywz4000, ty_Bool) → new_lt17(ywz5000, ywz4000)
new_esEs25(ywz5000, ywz4000, app(ty_Maybe, eb)) → new_esEs7(ywz5000, ywz4000, eb)
new_lt10(ywz5000, ywz4000) → new_esEs16(new_compare7(ywz5000, ywz4000), LT)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cg), da), db)) → new_esEs5(ywz5000, ywz4000, cg, da, db)
new_ltEs20(ywz5001, ywz4001, ty_Ordering) → new_ltEs17(ywz5001, ywz4001)
new_esEs25(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Integer, ff) → new_esEs13(ywz5000, ywz4000)
new_primCmpNat2(ywz50000, Succ(ywz40000)) → new_primCmpNat1(ywz50000, ywz40000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Double, ff) → new_ltEs18(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_ltEs7(ywz500, ywz400, ty_Int) → new_ltEs9(ywz500, ywz400)
new_lt13(ywz5001, ywz4001, ty_Int) → new_lt10(ywz5001, ywz4001)
new_esEs16(LT, LT) → True
new_asAs(False, ywz102) → False
new_lt20(ywz5000, ywz4000, ty_Double) → new_lt19(ywz5000, ywz4000)
new_primMulInt(Neg(ywz50010), Pos(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Pos(ywz50010), Neg(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulNat0(Succ(ywz500100), Zero) → Zero
new_primMulNat0(Zero, Succ(ywz400100)) → Zero
new_ltEs20(ywz5001, ywz4001, ty_Bool) → new_ltEs15(ywz5001, ywz4001)
new_esEs26(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs22(ywz5002, ywz4002, ty_Ordering) → new_esEs16(ywz5002, ywz4002)
new_esEs16(GT, GT) → True
new_primCmpNat2(ywz50000, Zero) → GT
new_esEs24(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_esEs23(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, app(ty_Maybe, bhb)) → new_esEs7(ywz5000, ywz4000, bhb)
new_lt8(ywz5000, ywz4000) → new_esEs16(new_compare15(ywz5000, ywz4000), LT)
new_compare110(ywz5000, ywz4000, True, bf, bg, bh) → LT
new_esEs25(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs28(ywz5001, ywz4001, app(app(ty_Either, caa), cab)) → new_esEs4(ywz5001, ywz4001, caa, cab)
new_esEs23(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), fd, app(ty_Maybe, bbf)) → new_esEs7(ywz5000, ywz4000, bbf)
new_esEs21(ywz5001, ywz4001, app(ty_[], bcg)) → new_esEs8(ywz5001, ywz4001, bcg)
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_compare26(ywz5000, ywz4000, False, fa, fb) → new_compare111(ywz5000, ywz4000, new_ltEs5(ywz5000, ywz4000, fa, fb), fa, fb)
new_esEs28(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_ltEs12(Nothing, Just(ywz4000), ca) → True
new_ltEs17(GT, GT) → True
new_ltEs19(ywz5002, ywz4002, ty_@0) → new_ltEs14(ywz5002, ywz4002)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(ty_Either, cc), cd)) → new_esEs4(ywz5000, ywz4000, cc, cd)
new_esEs24(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_ltEs17(GT, EQ) → False
new_gt0(ywz323, ywz324, ty_Char) → new_esEs16(new_compare14(ywz323, ywz324), GT)
new_lt21(ywz295, ywz296, app(ty_Ratio, hd)) → new_lt11(ywz295, ywz296, hd)
new_esEs4(Right(ywz5000), Right(ywz4000), fd, app(ty_Ratio, bbe)) → new_esEs11(ywz5000, ywz4000, bbe)
new_esEs22(ywz5002, ywz4002, ty_Bool) → new_esEs15(ywz5002, ywz4002)
new_gt0(ywz323, ywz324, ty_Ordering) → new_esEs16(new_compare19(ywz323, ywz324), GT)
new_lt13(ywz5001, ywz4001, app(app(app(ty_@3, bdd), bde), bdf)) → new_lt16(ywz5001, ywz4001, bdd, bde, bdf)
new_esEs28(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_lt20(ywz5000, ywz4000, app(app(app(ty_@3, bhc), bhd), bhe)) → new_lt16(ywz5000, ywz4000, bhc, bhd, bhe)
new_esEs18(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Float) → new_ltEs10(ywz5001, ywz4001)
new_lt16(ywz5000, ywz4000, bf, bg, bh) → new_esEs16(new_compare5(ywz5000, ywz4000, bf, bg, bh), LT)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs10(ywz5000, ywz4000)
new_compare11(ywz5000, ywz4000, False) → GT
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Bool) → new_ltEs15(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_Ordering) → new_ltEs17(ywz500, ywz400)
new_compare11(ywz5000, ywz4000, True) → LT
new_esEs22(ywz5002, ywz4002, ty_@0) → new_esEs14(ywz5002, ywz4002)
new_esEs25(ywz5000, ywz4000, app(app(app(ty_@3, ec), ed), ee)) → new_esEs5(ywz5000, ywz4000, ec, ed, ee)
new_lt21(ywz295, ywz296, ty_Char) → new_lt15(ywz295, ywz296)
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat0(ywz4000, ywz50000)
new_compare28(ywz5000, ywz4000, False, gd, ge) → new_compare113(ywz5000, ywz4000, new_ltEs16(ywz5000, ywz4000, gd, ge), gd, ge)
new_ltEs5(Right(ywz5000), Right(ywz4000), fd, app(app(ty_@2, bcb), bcc)) → new_ltEs16(ywz5000, ywz4000, bcb, bcc)
new_lt13(ywz5001, ywz4001, ty_Bool) → new_lt17(ywz5001, ywz4001)
new_lt6(ywz5000, ywz4000) → new_esEs16(new_compare8(ywz5000, ywz4000), LT)
new_esEs28(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_compare112(ywz95, ywz96, False, bge) → GT
new_lt21(ywz295, ywz296, app(app(ty_@2, gg), gh)) → new_lt4(ywz295, ywz296, gg, gh)
new_gt0(ywz323, ywz324, app(app(app(ty_@3, bgb), bgc), bgd)) → new_esEs16(new_compare5(ywz323, ywz324, bgb, bgc, bgd), GT)
new_compare27(ywz50, ywz40, True, fc) → EQ
new_esEs22(ywz5002, ywz4002, ty_Float) → new_esEs10(ywz5002, ywz4002)
new_lt14(ywz5000, ywz4000, ty_@0) → new_lt7(ywz5000, ywz4000)
new_esEs28(ywz5001, ywz4001, app(ty_Ratio, cac)) → new_esEs11(ywz5001, ywz4001, cac)
new_esEs26(ywz5000, ywz4000, app(ty_Ratio, bha)) → new_esEs11(ywz5000, ywz4000, bha)
new_esEs28(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Char) → new_ltEs6(ywz5001, ywz4001)
new_esEs4(Right(ywz5000), Right(ywz4000), fd, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_compare15(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, ty_Int) → new_compare7(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), fd, app(ty_Maybe, bbf)) → new_ltEs12(ywz5000, ywz4000, bbf)
new_compare0([], :(ywz4000, ywz4001), de) → LT
new_compare111(ywz5000, ywz4000, True, fa, fb) → LT
new_primPlusNat1(Zero, Zero) → Zero
new_ltEs19(ywz5002, ywz4002, app(app(ty_@2, bfa), bfb)) → new_ltEs16(ywz5002, ywz4002, bfa, bfb)
new_esEs26(ywz5000, ywz4000, app(app(ty_Either, bgg), bgh)) → new_esEs4(ywz5000, ywz4000, bgg, bgh)
new_asAs(True, ywz102) → ywz102
new_primMulNat0(Succ(ywz500100), Succ(ywz400100)) → new_primPlusNat0(new_primMulNat0(ywz500100, Succ(ywz400100)), ywz400100)
new_esEs26(ywz5000, ywz4000, app(app(app(ty_@3, bhc), bhd), bhe)) → new_esEs5(ywz5000, ywz4000, bhc, bhd, bhe)
new_ltEs17(LT, EQ) → True
new_esEs4(Left(ywz5000), Right(ywz4000), fd, ff) → False
new_esEs4(Right(ywz5000), Left(ywz4000), fd, ff) → False
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Int) → new_ltEs9(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Nothing, ca) → False
new_lt20(ywz5000, ywz4000, ty_Bool) → new_lt17(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Char) → new_lt15(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_Maybe, eb)) → new_compare13(ywz5000, ywz4000, eb)
new_compare24(ywz5000, ywz4000, False, bf, bg, bh) → new_compare110(ywz5000, ywz4000, new_ltEs4(ywz5000, ywz4000, bf, bg, bh), bf, bg, bh)
new_ltEs19(ywz5002, ywz4002, ty_Integer) → new_ltEs13(ywz5002, ywz4002)
new_esEs26(ywz5000, ywz4000, app(app(ty_@2, bhf), bhg)) → new_esEs6(ywz5000, ywz4000, bhf, bhg)
new_esEs23(ywz5000, ywz4000, app(app(app(ty_@3, bf), bg), bh)) → new_esEs5(ywz5000, ywz4000, bf, bg, bh)
new_lt4(ywz5000, ywz4000, gd, ge) → new_esEs16(new_compare18(ywz5000, ywz4000, gd, ge), LT)
new_ltEs7(ywz500, ywz400, app(app(app(ty_@3, fg), fh), ga)) → new_ltEs4(ywz500, ywz400, fg, fh, ga)
new_compare10(ywz5000, ywz4000, True) → LT
new_esEs9(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_ltEs17(EQ, GT) → True
new_compare110(ywz5000, ywz4000, False, bf, bg, bh) → GT
new_compare10(ywz5000, ywz4000, False) → GT
new_ltEs20(ywz5001, ywz4001, app(app(ty_@2, cah), cba)) → new_ltEs16(ywz5001, ywz4001, cah, cba)
new_primCompAux00(ywz280, GT) → GT
new_esEs4(Left(ywz5000), Left(ywz4000), ty_@0, ff) → new_esEs14(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bdb)) → new_esEs11(ywz5001, ywz4001, bdb)
new_gt0(ywz323, ywz324, app(ty_Maybe, bfh)) → new_gt(ywz323, ywz324, bfh)
new_gt0(ywz323, ywz324, ty_Bool) → new_esEs16(new_compare17(ywz323, ywz324), GT)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, bae), baf), bag), ff) → new_ltEs4(ywz5000, ywz4000, bae, baf, bag)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs8([], :(ywz4000, ywz4001), de) → False
new_esEs8(:(ywz5000, ywz5001), [], de) → False
new_ltEs5(Right(ywz5000), Right(ywz4000), fd, ty_Integer) → new_ltEs13(ywz5000, ywz4000)
new_ltEs20(ywz5001, ywz4001, app(app(ty_Either, caa), cab)) → new_ltEs5(ywz5001, ywz4001, caa, cab)
new_esEs22(ywz5002, ywz4002, app(ty_Ratio, bed)) → new_esEs11(ywz5002, ywz4002, bed)
new_esEs6(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), gb, gc) → new_asAs(new_esEs27(ywz5000, ywz4000, gb), new_esEs28(ywz5001, ywz4001, gc))
new_esEs28(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat2(ywz50000, ywz4000)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs22(ywz5002, ywz4002, app(ty_Maybe, bee)) → new_esEs7(ywz5002, ywz4002, bee)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_not(True) → False
new_ltEs7(ywz500, ywz400, app(ty_Maybe, ca)) → new_ltEs12(ywz500, ywz400, ca)
new_esEs15(False, False) → True

The set Q consists of the following terms:

new_sr(x0, x1)
new_esEs4(Right(x0), Right(x1), x2, ty_@0)
new_lt13(x0, x1, ty_@0)
new_esEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs16(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(Right(x0), Right(x1), x2, ty_@0)
new_lt21(x0, x1, ty_Double)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare111(x0, x1, False, x2, x3)
new_lt14(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(x0, x1, ty_Double)
new_lt14(x0, x1, ty_Char)
new_lt21(x0, x1, ty_Float)
new_compare9(x0, x1, x2, x3)
new_compare26(x0, x1, False, x2, x3)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_compare25(Double(x0, x1), Double(x2, x3))
new_esEs24(x0, x1, ty_Ordering)
new_esEs28(x0, x1, ty_Int)
new_ltEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_compare6(x0, x1, ty_Bool)
new_primCmpNat1(Zero, Succ(x0))
new_ltEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_lt12(x0, x1, x2, x3)
new_esEs21(x0, x1, ty_Int)
new_esEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs24(x0, x1, ty_Bool)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs5(Right(x0), Right(x1), x2, ty_Integer)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Bool)
new_gt(x0, x1, x2)
new_primPlusNat1(Succ(x0), Zero)
new_esEs15(True, True)
new_ltEs17(EQ, GT)
new_ltEs17(GT, EQ)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_primMulNat0(Succ(x0), Zero)
new_ltEs7(x0, x1, ty_Integer)
new_primPlusNat0(Succ(x0), x1)
new_compare6(x0, x1, ty_Int)
new_ltEs12(Just(x0), Nothing, x1)
new_esEs13(Integer(x0), Integer(x1))
new_ltEs5(Left(x0), Left(x1), ty_Integer, x2)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_ltEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs15(True, True)
new_ltEs19(x0, x1, ty_Ordering)
new_esEs21(x0, x1, app(ty_[], x2))
new_compare0(:(x0, x1), :(x2, x3), x4)
new_primMulInt(Pos(x0), Pos(x1))
new_compare110(x0, x1, True, x2, x3, x4)
new_esEs25(x0, x1, ty_Float)
new_lt19(x0, x1)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_compare6(x0, x1, app(ty_Maybe, x2))
new_ltEs14(x0, x1)
new_ltEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs5(Right(x0), Right(x1), x2, ty_Char)
new_esEs15(False, False)
new_lt8(x0, x1)
new_esEs20(x0, x1, ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs18(x0, x1, ty_Int)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_primCompAux0(x0, x1, x2, x3)
new_ltEs15(False, False)
new_ltEs19(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs16(LT, GT)
new_esEs16(GT, LT)
new_esEs28(x0, x1, ty_@0)
new_compare6(x0, x1, ty_Float)
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs4(Left(x0), Left(x1), ty_Int, x2)
new_ltEs20(x0, x1, ty_@0)
new_lt20(x0, x1, ty_Bool)
new_esEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_ltEs7(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Int)
new_primEqNat0(Succ(x0), Succ(x1))
new_ltEs12(Just(x0), Just(x1), app(ty_[], x2))
new_primCmpNat0(Zero, x0)
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_pePe(True, x0)
new_esEs23(x0, x1, ty_Double)
new_lt20(x0, x1, ty_Integer)
new_esEs9(x0, x1)
new_compare7(x0, x1)
new_esEs4(Right(x0), Right(x1), x2, ty_Float)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs4(Left(x0), Left(x1), ty_Double, x2)
new_ltEs19(x0, x1, ty_Float)
new_lt21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, ty_Float)
new_ltEs5(Left(x0), Left(x1), ty_Float, x2)
new_compare6(x0, x1, app(ty_Ratio, x2))
new_gt0(x0, x1, ty_Bool)
new_compare210(x0, x1, False)
new_primCmpNat1(Zero, Zero)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs22(x0, x1, app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), ty_Float)
new_esEs23(x0, x1, ty_Integer)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_ltEs20(x0, x1, ty_Double)
new_esEs4(Left(x0), Right(x1), x2, x3)
new_esEs4(Right(x0), Left(x1), x2, x3)
new_compare0(:(x0, x1), [], x2)
new_compare6(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, app(ty_[], x2))
new_lt13(x0, x1, ty_Char)
new_esEs7(Nothing, Just(x0), x1)
new_esEs24(x0, x1, ty_Float)
new_esEs10(Float(x0, x1), Float(x2, x3))
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_primEqNat0(Zero, Zero)
new_ltEs5(Right(x0), Right(x1), x2, ty_Float)
new_esEs24(x0, x1, ty_Int)
new_lt5(x0, x1, x2)
new_primCompAux00(x0, GT)
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_compare10(x0, x1, False)
new_primCompAux00(x0, EQ)
new_ltEs8(x0, x1, x2)
new_primMulNat0(Zero, Zero)
new_gt0(x0, x1, app(ty_[], x2))
new_ltEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_gt0(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_compare6(x0, x1, ty_Integer)
new_lt20(x0, x1, ty_@0)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_esEs7(Just(x0), Just(x1), app(ty_Maybe, x2))
new_gt0(x0, x1, app(ty_Ratio, x2))
new_gt0(x0, x1, ty_Double)
new_ltEs5(Right(x0), Right(x1), x2, ty_Double)
new_esEs28(x0, x1, ty_Char)
new_compare19(x0, x1)
new_gt0(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Int)
new_compare8(Float(x0, x1), Float(x2, x3))
new_esEs16(GT, GT)
new_esEs25(x0, x1, ty_Char)
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_compare113(x0, x1, True, x2, x3)
new_ltEs5(Left(x0), Left(x1), ty_Double, x2)
new_ltEs12(Just(x0), Just(x1), ty_Integer)
new_lt13(x0, x1, app(ty_Ratio, x2))
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_lt13(x0, x1, ty_Double)
new_esEs14(@0, @0)
new_ltEs18(x0, x1)
new_primMulInt(Neg(x0), Neg(x1))
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, ty_Float)
new_esEs7(Just(x0), Nothing, x1)
new_esEs24(x0, x1, ty_Char)
new_esEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs7(Just(x0), Just(x1), ty_Ordering)
new_ltEs20(x0, x1, ty_Integer)
new_compare12(:%(x0, x1), :%(x2, x3), ty_Integer)
new_esEs21(x0, x1, ty_Double)
new_esEs22(x0, x1, ty_@0)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_compare16(@0, @0)
new_ltEs5(Right(x0), Right(x1), x2, ty_Bool)
new_esEs20(x0, x1, ty_@0)
new_esEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_pePe(False, x0)
new_ltEs7(x0, x1, ty_Double)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs21(x0, x1, ty_Integer)
new_esEs22(x0, x1, ty_Double)
new_ltEs19(x0, x1, ty_Char)
new_esEs19(x0, x1, ty_Int)
new_compare29(x0, x1, True)
new_compare15(Integer(x0), Integer(x1))
new_compare29(x0, x1, False)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_lt16(x0, x1, x2, x3, x4)
new_compare26(x0, x1, True, x2, x3)
new_primCmpNat2(x0, Zero)
new_compare6(x0, x1, ty_@0)
new_primPlusNat1(Zero, Zero)
new_ltEs9(x0, x1)
new_ltEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs7(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs7(x0, x1, app(ty_[], x2))
new_esEs21(x0, x1, ty_Ordering)
new_esEs24(x0, x1, ty_Integer)
new_compare111(x0, x1, True, x2, x3)
new_compare6(x0, x1, ty_Char)
new_lt13(x0, x1, app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_ltEs19(x0, x1, ty_Bool)
new_lt20(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_lt9(x0, x1, x2)
new_compare113(x0, x1, False, x2, x3)
new_esEs26(x0, x1, ty_Bool)
new_primCompAux00(x0, LT)
new_ltEs5(Left(x0), Left(x1), ty_Bool, x2)
new_lt21(x0, x1, ty_Ordering)
new_gt0(x0, x1, app(app(ty_Either, x2), x3))
new_lt14(x0, x1, app(ty_Ratio, x2))
new_gt0(x0, x1, ty_Int)
new_lt20(x0, x1, ty_Ordering)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_lt10(x0, x1)
new_esEs4(Right(x0), Right(x1), x2, ty_Integer)
new_lt14(x0, x1, app(ty_Maybe, x2))
new_esEs11(:%(x0, x1), :%(x2, x3), x4)
new_ltEs7(x0, x1, ty_Bool)
new_esEs23(x0, x1, ty_@0)
new_esEs26(x0, x1, ty_Integer)
new_esEs4(Left(x0), Left(x1), ty_Float, x2)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_gt1(x0, x1)
new_lt15(x0, x1)
new_ltEs12(Nothing, Just(x0), x1)
new_esEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_lt21(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Ordering)
new_esEs8(:(x0, x1), :(x2, x3), x4)
new_esEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs15(False, True)
new_ltEs15(True, False)
new_ltEs17(GT, GT)
new_lt14(x0, x1, ty_Float)
new_ltEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs25(x0, x1, ty_Ordering)
new_lt14(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Int)
new_ltEs11(x0, x1, x2)
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_lt21(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_compare210(x0, x1, True)
new_esEs20(x0, x1, ty_Int)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs7(Just(x0), Just(x1), ty_Float)
new_ltEs20(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, ty_Int)
new_ltEs7(x0, x1, ty_Int)
new_ltEs12(Just(x0), Just(x1), ty_Ordering)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_compare27(Just(x0), Nothing, False, x1)
new_compare5(x0, x1, x2, x3, x4)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_lt18(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Zero, Succ(x0))
new_esEs15(True, False)
new_esEs15(False, True)
new_esEs7(Just(x0), Just(x1), ty_Int)
new_esEs22(x0, x1, ty_Bool)
new_ltEs7(x0, x1, ty_Char)
new_esEs7(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_compare18(x0, x1, x2, x3)
new_lt17(x0, x1)
new_asAs(True, x0)
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_lt11(x0, x1, x2)
new_ltEs7(x0, x1, ty_Ordering)
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, ty_Char)
new_esEs16(LT, LT)
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_compare17(x0, x1)
new_ltEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_lt13(x0, x1, ty_Integer)
new_esEs7(Just(x0), Just(x1), ty_Char)
new_esEs26(x0, x1, ty_Ordering)
new_esEs18(x0, x1, ty_Integer)
new_sr0(Integer(x0), Integer(x1))
new_esEs28(x0, x1, ty_Double)
new_ltEs10(x0, x1)
new_esEs22(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_Float)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_compare28(x0, x1, False, x2, x3)
new_esEs8([], [], x0)
new_esEs20(x0, x1, app(ty_[], x2))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_compare10(x0, x1, True)
new_esEs4(Left(x0), Left(x1), ty_Bool, x2)
new_compare112(x0, x1, False, x2)
new_ltEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_lt6(x0, x1)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_gt0(x0, x1, ty_Integer)
new_lt13(x0, x1, ty_Bool)
new_lt4(x0, x1, x2, x3)
new_ltEs20(x0, x1, ty_Ordering)
new_lt14(x0, x1, ty_Integer)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_ltEs12(Just(x0), Just(x1), ty_Double)
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_esEs4(Left(x0), Left(x1), ty_Char, x2)
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_ltEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_ltEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_asAs(False, x0)
new_lt13(x0, x1, ty_Int)
new_ltEs5(Left(x0), Left(x1), ty_Int, x2)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs25(x0, x1, ty_@0)
new_primPlusNat1(Zero, Succ(x0))
new_lt21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(Right(x0), Right(x1), x2, ty_Bool)
new_lt14(x0, x1, app(ty_[], x2))
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_compare6(x0, x1, ty_Ordering)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(Just(x0), Just(x1), ty_Integer)
new_compare14(Char(x0), Char(x1))
new_esEs4(Left(x0), Left(x1), ty_Integer, x2)
new_esEs27(x0, x1, app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs17(LT, GT)
new_ltEs17(GT, LT)
new_esEs23(x0, x1, ty_Float)
new_esEs7(Just(x0), Just(x1), app(ty_[], x2))
new_lt21(x0, x1, ty_Bool)
new_ltEs5(Right(x0), Right(x1), x2, ty_Int)
new_ltEs20(x0, x1, ty_Float)
new_esEs12(Char(x0), Char(x1))
new_esEs23(x0, x1, ty_Char)
new_gt0(x0, x1, ty_Char)
new_lt13(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs28(x0, x1, ty_Ordering)
new_compare6(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, ty_@0)
new_esEs4(Right(x0), Right(x1), x2, ty_Char)
new_ltEs20(x0, x1, ty_Char)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs7(Nothing, Nothing, x0)
new_ltEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs27(x0, x1, ty_Int)
new_esEs17(Double(x0, x1), Double(x2, x3))
new_ltEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare27(Nothing, Just(x0), False, x1)
new_primCmpNat1(Succ(x0), Zero)
new_ltEs7(x0, x1, app(ty_Maybe, x2))
new_ltEs12(Just(x0), Just(x1), ty_Bool)
new_ltEs7(x0, x1, app(ty_Ratio, x2))
new_lt21(x0, x1, ty_Int)
new_esEs8(:(x0, x1), [], x2)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_lt13(x0, x1, app(ty_[], x2))
new_lt21(x0, x1, ty_@0)
new_esEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_compare6(x0, x1, ty_Double)
new_compare112(x0, x1, True, x2)
new_esEs27(x0, x1, ty_Double)
new_esEs4(Right(x0), Right(x1), x2, ty_Double)
new_primCmpNat1(Succ(x0), Succ(x1))
new_primPlusNat1(Succ(x0), Succ(x1))
new_lt13(x0, x1, app(ty_Maybe, x2))
new_ltEs12(Just(x0), Just(x1), ty_Char)
new_compare6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_lt14(x0, x1, app(app(ty_@2, x2), x3))
new_compare6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs24(x0, x1, app(ty_[], x2))
new_lt13(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(Just(x0), Just(x1), ty_Double)
new_compare110(x0, x1, False, x2, x3, x4)
new_ltEs7(x0, x1, ty_Float)
new_not(True)
new_esEs7(Just(x0), Just(x1), ty_Bool)
new_esEs24(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Char)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs16(EQ, LT)
new_esEs16(LT, EQ)
new_gt0(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs7(x0, x1, app(app(ty_Either, x2), x3))
new_compare12(:%(x0, x1), :%(x2, x3), ty_Int)
new_esEs21(x0, x1, ty_@0)
new_primCmpNat0(Succ(x0), x1)
new_esEs16(EQ, EQ)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Double)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_ltEs19(x0, x1, ty_Int)
new_not(False)
new_esEs25(x0, x1, ty_Integer)
new_ltEs12(Just(x0), Just(x1), ty_@0)
new_esEs26(x0, x1, app(ty_[], x2))
new_compare24(x0, x1, True, x2, x3, x4)
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_compare0([], [], x0)
new_ltEs20(x0, x1, ty_Int)
new_esEs23(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, ty_Ordering)
new_lt14(x0, x1, app(app(ty_Either, x2), x3))
new_esEs26(x0, x1, ty_Char)
new_compare27(Just(x0), Just(x1), False, x2)
new_esEs28(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Bool)
new_primMulNat0(Succ(x0), Succ(x1))
new_lt14(x0, x1, ty_@0)
new_compare27(x0, x1, True, x2)
new_esEs21(x0, x1, ty_Float)
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_ltEs13(x0, x1)
new_esEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_lt21(x0, x1, app(ty_Ratio, x2))
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs7(Just(x0), Just(x1), app(ty_Ratio, x2))
new_ltEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt14(x0, x1, ty_Ordering)
new_compare27(Nothing, Nothing, False, x0)
new_esEs16(EQ, GT)
new_esEs16(GT, EQ)
new_lt7(x0, x1)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_ltEs17(LT, EQ)
new_ltEs17(EQ, LT)
new_ltEs5(Left(x0), Right(x1), x2, x3)
new_ltEs5(Right(x0), Left(x1), x2, x3)
new_ltEs5(Left(x0), Left(x1), ty_@0, x2)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, app(ty_[], x2))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_lt14(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Float)
new_esEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs27(x0, x1, ty_Integer)
new_esEs23(x0, x1, ty_Int)
new_gt0(x0, x1, app(ty_Maybe, x2))
new_ltEs5(Left(x0), Left(x1), ty_Char, x2)
new_esEs26(x0, x1, ty_@0)
new_esEs4(Right(x0), Right(x1), x2, ty_Int)
new_esEs7(Just(x0), Just(x1), ty_@0)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_esEs4(Left(x0), Left(x1), ty_@0, x2)
new_ltEs6(x0, x1)
new_ltEs12(Just(x0), Just(x1), ty_Int)
new_compare13(x0, x1, x2)
new_esEs19(x0, x1, ty_Integer)
new_ltEs12(Nothing, Nothing, x0)
new_esEs24(x0, x1, ty_Double)
new_esEs7(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_lt14(x0, x1, ty_Double)
new_lt20(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs23(x0, x1, ty_Bool)
new_ltEs19(x0, x1, ty_Integer)
new_primPlusNat0(Zero, x0)
new_esEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_primEqNat0(Zero, Succ(x0))
new_gt0(x0, x1, ty_@0)
new_ltEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Double)
new_esEs8([], :(x0, x1), x2)
new_primCmpNat2(x0, Succ(x1))
new_compare0([], :(x0, x1), x2)
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, ty_Integer)
new_esEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_lt13(x0, x1, ty_Float)
new_lt21(x0, x1, ty_Integer)
new_ltEs4(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_compare11(x0, x1, False)
new_esEs20(x0, x1, ty_Char)
new_lt21(x0, x1, app(app(ty_@2, x2), x3))
new_gt0(x0, x1, ty_Ordering)
new_ltEs17(EQ, EQ)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, ty_Char)
new_ltEs17(LT, LT)
new_esEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Bool)
new_compare11(x0, x1, True)
new_esEs5(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_compare24(x0, x1, False, x2, x3, x4)
new_esEs28(x0, x1, ty_Bool)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_compare28(x0, x1, True, x2, x3)
new_lt21(x0, x1, app(ty_Maybe, x2))
new_lt13(x0, x1, ty_Ordering)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof

Q DP problem:
The TRS P consists of the following rules:

new_plusFM_C(ywz3, Branch(ywz40, ywz41, ywz42, ywz43, ywz44), Branch(ywz50, ywz51, ywz52, ywz53, ywz54), h, ba) → new_plusFM_C(ywz3, new_splitGT30(ywz40, ywz41, ywz42, ywz43, ywz44, ywz50, h, ba), ywz54, h, ba)
new_plusFM_C(ywz3, Branch(ywz40, ywz41, ywz42, ywz43, ywz44), Branch(ywz50, ywz51, ywz52, ywz53, ywz54), h, ba) → new_plusFM_C(ywz3, new_splitLT30(ywz40, ywz41, ywz42, ywz43, ywz44, ywz50, h, ba), ywz53, h, ba)

The TRS R consists of the following rules:

new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(ty_@2, hf), hg), dh) → new_ltEs16(ywz5000, ywz4000, hf, hg)
new_esEs26(ywz5000, ywz4000, app(ty_[], bec)) → new_esEs8(ywz5000, ywz4000, bec)
new_esEs23(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs22(ywz5002, ywz4002, ty_Double) → new_esEs17(ywz5002, ywz4002)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_Maybe, cb)) → new_esEs7(ywz5000, ywz4000, cb)
new_ltEs7(ywz500, ywz400, app(ty_Ratio, da)) → new_ltEs11(ywz500, ywz400, da)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bbd)) → new_esEs7(ywz5000, ywz4000, bbd)
new_compare112(ywz95, ywz96, True, eh) → LT
new_ltEs19(ywz5002, ywz4002, app(ty_[], bcg)) → new_ltEs8(ywz5002, ywz4002, bcg)
new_compare6(ywz5000, ywz4000, ty_Double) → new_compare25(ywz5000, ywz4000)
new_esEs16(EQ, GT) → False
new_esEs16(GT, EQ) → False
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, bce), bcf)) → new_esEs6(ywz5001, ywz4001, bce, bcf)
new_ltEs19(ywz5002, ywz4002, app(ty_Ratio, bdb)) → new_ltEs11(ywz5002, ywz4002, bdb)
new_ltEs20(ywz5001, ywz4001, ty_Int) → new_ltEs9(ywz5001, ywz4001)
new_ltEs15(True, False) → False
new_splitGT16(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, True, fa, fb) → new_mkVBalBranch(ywz33, ywz34, new_splitGT5(ywz36, ywz38, fa, fb), ywz37, fa, fb)
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_splitLT16(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, True, bea, beb) → new_mkVBalBranch(ywz18, ywz19, ywz21, new_splitLT4(ywz22, ywz23, bea, beb), bea, beb)
new_ltEs17(LT, LT) → True
new_esEs25(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(app(app(ty_@3, bcb), bcc), bcd)) → new_esEs5(ywz5001, ywz4001, bcb, bcc, bcd)
new_splitLT16(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, False, bea, beb) → ywz21
new_compare6(ywz5000, ywz4000, app(app(ty_@2, gd), ge)) → new_compare18(ywz5000, ywz4000, gd, ge)
new_ltEs5(Right(ywz5000), Right(ywz4000), dg, ty_Int) → new_ltEs9(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_[], fc)) → new_compare0(ywz5000, ywz4000, fc)
new_ltEs7(ywz500, ywz400, app(ty_[], df)) → new_ltEs8(ywz500, ywz400, df)
new_lt20(ywz5000, ywz4000, ty_Int) → new_lt10(ywz5000, ywz4000)
new_esEs29(ywz500, ywz400, ty_Integer) → new_esEs13(ywz500, ywz400)
new_compare6(ywz5000, ywz4000, ty_Integer) → new_compare15(ywz5000, ywz4000)
new_primCmpNat1(Zero, Succ(ywz400000)) → LT
new_lt14(ywz5000, ywz4000, app(app(ty_@2, dd), de)) → new_lt4(ywz5000, ywz4000, dd, de)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, ty_Integer) → new_esEs13(ywz500, ywz400)
new_lt19(ywz5000, ywz4000) → new_esEs16(new_compare25(ywz5000, ywz4000), LT)
new_esEs26(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_[], bf)) → new_esEs8(ywz5000, ywz4000, bf)
new_compare27(Just(ywz500), Just(ywz400), False, h) → new_compare112(ywz500, ywz400, new_ltEs7(ywz500, ywz400, h), h)
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, beg)) → new_esEs7(ywz5000, ywz4000, beg)
new_esEs29(ywz500, ywz400, ty_Int) → new_esEs9(ywz500, ywz400)
new_addToFM_C20(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, False, h, ba) → new_addToFM_C10(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_gt(ywz50, ywz740, h), h, ba)
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs22(ywz5002, ywz4002, ty_Char) → new_esEs12(ywz5002, ywz4002)
new_lt14(ywz5000, ywz4000, app(app(ty_Either, db), dc)) → new_lt12(ywz5000, ywz4000, db, dc)
new_sizeFM0(Branch(ywz7140, ywz7141, ywz7142, ywz7143, ywz7144), h, ba) → ywz7142
new_esEs29(ywz500, ywz400, ty_Ordering) → new_esEs16(ywz500, ywz400)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Double) → new_ltEs18(ywz5000, ywz4000)
new_ltEs10(ywz500, ywz400) → new_not(new_esEs16(new_compare8(ywz500, ywz400), GT))
new_ltEs12(Nothing, Nothing, be) → True
new_primMulNat0(Zero, Zero) → Zero
new_esEs24(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs8(:(ywz5000, ywz5001), :(ywz4000, ywz4001), df) → new_asAs(new_esEs25(ywz5000, ywz4000, df), new_esEs8(ywz5001, ywz4001, df))
new_primPlusInt0(ywz16620, Pos(ywz2330)) → Pos(new_primPlusNat1(ywz16620, ywz2330))
new_lt13(ywz5001, ywz4001, ty_@0) → new_lt7(ywz5001, ywz4001)
new_lt20(ywz5000, ywz4000, ty_@0) → new_lt7(ywz5000, ywz4000)
new_splitLT5(Branch(ywz430, ywz431, ywz432, ywz433, ywz434), h, ba) → new_splitLT30(ywz430, ywz431, ywz432, ywz433, ywz434, Nothing, h, ba)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Int, dh) → new_ltEs9(ywz5000, ywz4000)
new_compare29(ywz5000, ywz4000, True) → EQ
new_esEs4(Right(ywz5000), Right(ywz4000), dg, app(ty_[], hh)) → new_esEs8(ywz5000, ywz4000, hh)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_esEs5(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), ea, eb, ec) → new_asAs(new_esEs20(ywz5000, ywz4000, ea), new_asAs(new_esEs21(ywz5001, ywz4001, eb), new_esEs22(ywz5002, ywz4002, ec)))
new_esEs4(Right(ywz5000), Right(ywz4000), dg, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), dg, app(ty_[], hh)) → new_ltEs8(ywz5000, ywz4000, hh)
new_lt20(ywz5000, ywz4000, ty_Float) → new_lt6(ywz5000, ywz4000)
new_splitLT15(ywz41, ywz42, ywz43, ywz44, ywz500, False, h, ba) → ywz43
new_ltEs7(ywz500, ywz400, ty_Char) → new_ltEs6(ywz500, ywz400)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Integer) → new_ltEs13(ywz5000, ywz4000)
new_ltEs5(Right(ywz5000), Right(ywz4000), dg, ty_Float) → new_ltEs10(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(ty_Either, bed), bee)) → new_lt12(ywz5000, ywz4000, bed, bee)
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_esEs30(ywz500, ywz400, ty_Double) → new_esEs17(ywz500, ywz400)
new_esEs30(ywz500, ywz400, app(ty_Ratio, da)) → new_esEs11(ywz500, ywz400, da)
new_esEs29(ywz500, ywz400, app(app(ty_Either, dg), dh)) → new_esEs4(ywz500, ywz400, dg, dh)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_compare16(@0, @0) → EQ
new_splitLT4(EmptyFM, ywz500, h, ba) → new_emptyFM(h, ba)
new_compare29(ywz5000, ywz4000, False) → new_compare11(ywz5000, ywz4000, new_ltEs17(ywz5000, ywz4000))
new_esEs29(ywz500, ywz400, app(ty_Maybe, be)) → new_esEs7(ywz500, ywz400, be)
new_esEs7(Just(ywz5000), Just(ywz4000), app(ty_Ratio, ca)) → new_esEs11(ywz5000, ywz4000, ca)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, db), dc)) → new_esEs4(ywz5000, ywz4000, db, dc)
new_primPlusInt2(EmptyFM, ywz710, ywz711, ywz714, h, ba) → new_primPlusInt0(Zero, new_mkBalBranch6Size_r(ywz710, ywz711, EmptyFM, ywz714, h, ba))
new_esEs19(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_esEs30(ywz500, ywz400, ty_Int) → new_esEs9(ywz500, ywz400)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(ty_@2, hf), hg), dh) → new_esEs6(ywz5000, ywz4000, hf, hg)
new_compare9(ywz5000, ywz4000, db, dc) → new_compare26(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, db, dc), db, dc)
new_addToFM_C0(Branch(ywz7430, ywz7431, ywz7432, ywz7433, ywz7434), ywz50, ywz9, h, ba) → new_addToFM_C30(ywz7430, ywz7431, ywz7432, ywz7433, ywz7434, ywz50, ywz9, h, ba)
new_lt14(ywz5000, ywz4000, ty_Int) → new_lt10(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Right(ywz4000), dg, dh) → True
new_compare0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), df) → new_primCompAux0(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, df), df)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(ty_@2, cf), cg)) → new_esEs6(ywz5000, ywz4000, cf, cg)
new_ltEs7(ywz500, ywz400, ty_Double) → new_ltEs18(ywz500, ywz400)
new_primCmpNat1(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat1(ywz500000, ywz400000)
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_mkVBalBranch3Size_r(ywz60, ywz61, ywz62, ywz63, ywz64, ywz70, ywz71, ywz72, ywz73, ywz74, h, ba) → new_sizeFM(ywz60, ywz61, ywz62, ywz63, ywz64, h, ba)
new_ltEs5(Right(ywz5000), Right(ywz4000), dg, app(app(ty_Either, baa), bab)) → new_ltEs5(ywz5000, ywz4000, baa, bab)
new_lt14(ywz5000, ywz4000, app(ty_Maybe, bbd)) → new_lt5(ywz5000, ywz4000, bbd)
new_ltEs13(ywz500, ywz400) → new_not(new_esEs16(new_compare15(ywz500, ywz400), GT))
new_ltEs19(ywz5002, ywz4002, app(ty_Maybe, bdc)) → new_ltEs12(ywz5002, ywz4002, bdc)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Float, dh) → new_ltEs10(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, ty_@0) → new_compare16(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, dd), de)) → new_esEs6(ywz5000, ywz4000, dd, de)
new_splitLT23(ywz41, ywz42, ywz43, ywz44, ywz500, False, h, ba) → new_splitLT15(ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs16(new_compare13(Just(ywz500), Nothing, h), GT), h, ba)
new_primPlusInt(Pos(ywz3700), ywz335, ywz332, ywz334, ef, eg) → new_primPlusInt0(ywz3700, new_sizeFM1(ywz335, ef, eg))
new_esEs28(ywz5001, ywz4001, app(app(app(ty_@3, bgb), bgc), bgd)) → new_esEs5(ywz5001, ywz4001, bgb, bgc, bgd)
new_esEs22(ywz5002, ywz4002, app(ty_[], bcg)) → new_esEs8(ywz5002, ywz4002, bcg)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_ltEs9(ywz500, ywz400) → new_not(new_esEs16(new_compare7(ywz500, ywz400), GT))
new_splitLT24(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, False, bea, beb) → new_splitLT16(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, new_esEs16(new_compare13(Just(ywz23), Just(ywz18), bea), GT), bea, beb)
new_ltEs19(ywz5002, ywz4002, ty_Char) → new_ltEs6(ywz5002, ywz4002)
new_ltEs5(Right(ywz5000), Left(ywz4000), dg, dh) → False
new_ltEs17(EQ, LT) → False
new_pePe(False, ywz175) → ywz175
new_splitLT30(Nothing, ywz41, ywz42, ywz43, ywz44, Just(ywz500), h, ba) → new_splitLT23(ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs16(new_compare27(Just(ywz500), Nothing, False, h), LT), h, ba)
new_esEs27(ywz5000, ywz4000, app(ty_[], bec)) → new_esEs8(ywz5000, ywz4000, bec)
new_esEs25(ywz5000, ywz4000, app(app(ty_Either, fd), ff)) → new_esEs4(ywz5000, ywz4000, fd, ff)
new_mkBalBranch6MkBalBranch3(ywz710, ywz711, Branch(ywz1660, ywz1661, ywz1662, ywz1663, ywz1664), ywz714, True, h, ba) → new_mkBalBranch6MkBalBranch11(ywz710, ywz711, ywz1660, ywz1661, ywz1662, ywz1663, ywz1664, ywz714, new_lt10(new_sizeFM0(ywz1664, h, ba), new_sr(Pos(Succ(Succ(Zero))), new_sizeFM0(ywz1663, h, ba))), h, ba)
new_esEs15(False, True) → False
new_esEs15(True, False) → False
new_ltEs15(True, True) → True
new_esEs22(ywz5002, ywz4002, app(app(ty_Either, bch), bda)) → new_esEs4(ywz5002, ywz4002, bch, bda)
new_ltEs19(ywz5002, ywz4002, ty_Float) → new_ltEs10(ywz5002, ywz4002)
new_mkVBalBranch(ywz400, ywz41, Branch(ywz430, ywz431, ywz432, ywz433, ywz434), Branch(ywz720, ywz721, ywz722, ywz723, ywz724), h, ba) → new_mkVBalBranch3MkVBalBranch20(ywz720, ywz721, ywz722, ywz723, ywz724, ywz430, ywz431, ywz432, ywz433, ywz434, Just(ywz400), ywz41, new_lt22(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(ywz720, ywz721, ywz722, ywz723, ywz724, ywz430, ywz431, ywz432, ywz433, ywz434, h, ba)), ywz720, ywz721, ywz722, ywz723, ywz724, ywz430, ywz431, ywz432, ywz433, ywz434, h, ba), h, ba)
new_compare6(ywz5000, ywz4000, ty_Bool) → new_compare17(ywz5000, ywz4000)
new_ltEs15(False, True) → True
new_esEs26(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, ty_Bool) → new_esEs15(ywz500, ywz400)
new_esEs24(ywz5001, ywz4001, app(ty_Maybe, bca)) → new_esEs7(ywz5001, ywz4001, bca)
new_lt13(ywz5001, ywz4001, ty_Integer) → new_lt8(ywz5001, ywz4001)
new_mkVBalBranch3MkVBalBranch20(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, False, h, ba) → new_mkVBalBranch3MkVBalBranch10(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_lt10(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_r(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba)), new_mkVBalBranch3Size_l(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba)), h, ba)
new_esEs23(ywz5000, ywz4000, app(ty_Maybe, bbd)) → new_esEs7(ywz5000, ywz4000, bbd)
new_esEs10(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs9(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_addToFM(ywz71, ywz41, h, ba) → new_addToFM_C4(ywz71, ywz41, h, ba)
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Integer, dh) → new_ltEs13(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_Ratio, ca)) → new_ltEs11(ywz5000, ywz4000, ca)
new_ltEs15(False, False) → True
new_primPlusInt1(ywz16620, Pos(ywz2340)) → new_primMinusNat0(ywz2340, ywz16620)
new_mkVBalBranch30(ywz50, ywz9, ywz740, ywz741, ywz742, ywz743, ywz744, ywz630, ywz631, ywz632, ywz633, ywz634, h, ba) → new_mkVBalBranch3MkVBalBranch20(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_lt10(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba)), new_mkVBalBranch3Size_r(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba)), h, ba)
new_addToFM_C20(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, True, h, ba) → new_mkBalBranch(ywz740, ywz741, new_addToFM_C0(ywz743, ywz50, ywz9, h, ba), ywz744, h, ba)
new_primPlusInt2(Branch(ywz1660, ywz1661, Neg(ywz16620), ywz1663, ywz1664), ywz710, ywz711, ywz714, h, ba) → new_primPlusInt1(ywz16620, new_sizeFM0(ywz714, h, ba))
new_splitLT4(Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz500, h, ba) → new_splitLT30(ywz430, ywz431, ywz432, ywz433, ywz434, Just(ywz500), h, ba)
new_esEs26(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_mkBranch(ywz331, ywz332, ywz333, ywz334, ywz335, ef, eg) → Branch(ywz332, ywz333, new_primPlusInt(new_primPlusInt0(Succ(Zero), new_sizeFM1(ywz334, ef, eg)), ywz335, ywz332, ywz334, ef, eg), ywz334, ywz335)
new_lt17(ywz5000, ywz4000) → new_esEs16(new_compare17(ywz5000, ywz4000), LT)
new_esEs20(ywz5000, ywz4000, app(ty_[], bbb)) → new_esEs8(ywz5000, ywz4000, bbb)
new_compare27(Nothing, Just(ywz400), False, h) → LT
new_splitLT5(EmptyFM, h, ba) → new_emptyFM(h, ba)
new_esEs25(ywz5000, ywz4000, app(app(ty_@2, gd), ge)) → new_esEs6(ywz5000, ywz4000, gd, ge)
new_compare14(Char(ywz5000), Char(ywz4000)) → new_primCmpNat1(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Char, dh) → new_ltEs6(ywz5000, ywz4000)
new_compare18(ywz5000, ywz4000, dd, de) → new_compare28(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, dd, de), dd, de)
new_esEs25(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Char, dh) → new_esEs12(ywz5000, ywz4000)
new_ltEs19(ywz5002, ywz4002, app(app(app(ty_@3, bdd), bde), bdf)) → new_ltEs4(ywz5002, ywz4002, bdd, bde, bdf)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(ty_@2, cf), cg)) → new_ltEs16(ywz5000, ywz4000, cf, cg)
new_lt14(ywz5000, ywz4000, ty_Char) → new_lt15(ywz5000, ywz4000)
new_lt5(ywz50, ywz40, h) → new_esEs16(new_compare13(ywz50, ywz40, h), LT)
new_esEs30(ywz500, ywz400, ty_Float) → new_esEs10(ywz500, ywz400)
new_esEs28(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_pePe(True, ywz175) → True
new_compare0([], [], df) → EQ
new_esEs24(ywz5001, ywz4001, app(app(ty_@2, bce), bcf)) → new_esEs6(ywz5001, ywz4001, bce, bcf)
new_primEqNat0(Zero, Zero) → True
new_esEs19(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_addToFM_C4(EmptyFM, ywz41, h, ba) → Branch(Nothing, ywz41, Pos(Succ(Zero)), new_emptyFM(h, ba), new_emptyFM(h, ba))
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs14(@0, @0) → True
new_compare111(ywz5000, ywz4000, False, db, dc) → GT
new_esEs28(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_mkVBalBranch2(ywz50, ywz9, ywz740, ywz741, ywz742, ywz743, ywz744, EmptyFM, h, ba) → new_addToFM0(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, h, ba)
new_compare17(ywz5000, ywz4000) → new_compare210(ywz5000, ywz4000, new_esEs15(ywz5000, ywz4000))
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_[], bf)) → new_ltEs8(ywz5000, ywz4000, bf)
new_ltEs5(Right(ywz5000), Right(ywz4000), dg, ty_@0) → new_ltEs14(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_@0, dh) → new_ltEs14(ywz5000, ywz4000)
new_esEs16(LT, GT) → False
new_esEs16(GT, LT) → False
new_primPlusInt1(ywz16620, Neg(ywz2340)) → Neg(new_primPlusNat1(ywz16620, ywz2340))
new_lt20(ywz5000, ywz4000, app(ty_[], bec)) → new_lt9(ywz5000, ywz4000, bec)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs26(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_ltEs17(GT, LT) → False
new_sr(ywz5001, ywz4001) → new_primMulInt(ywz5001, ywz4001)
new_gt(ywz50, ywz40, h) → new_esEs16(new_compare13(ywz50, ywz40, h), GT)
new_compare7(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_primCmpNat1(Zero, Zero) → EQ
new_esEs30(ywz500, ywz400, ty_Char) → new_esEs12(ywz500, ywz400)
new_ltEs7(ywz500, ywz400, ty_Integer) → new_ltEs13(ywz500, ywz400)
new_esEs24(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Int, dh) → new_esEs9(ywz5000, ywz4000)
new_ltEs20(ywz5001, ywz4001, app(ty_Ratio, bfh)) → new_ltEs11(ywz5001, ywz4001, bfh)
new_splitLT22(ywz400, ywz41, ywz42, ywz43, ywz44, True, h, ba) → new_splitLT5(ywz43, h, ba)
new_primPlusNat0(Succ(ywz1950), ywz400100) → Succ(Succ(new_primPlusNat1(ywz1950, ywz400100)))
new_ltEs11(ywz500, ywz400, da) → new_not(new_esEs16(new_compare12(ywz500, ywz400, da), GT))
new_ltEs19(ywz5002, ywz4002, ty_Bool) → new_ltEs15(ywz5002, ywz4002)
new_lt14(ywz5000, ywz4000, app(ty_Ratio, bbc)) → new_lt11(ywz5000, ywz4000, bbc)
new_esEs28(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_esEs4(Right(ywz5000), Right(ywz4000), dg, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_mkVBalBranch0(ywz41, Branch(ywz430, ywz431, ywz432, ywz433, ywz434), EmptyFM, h, ba) → new_addToFM(Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz41, h, ba)
new_esEs13(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_primCmpNat1(Succ(ywz500000), Zero) → GT
new_esEs4(Right(ywz5000), Right(ywz4000), dg, app(app(ty_Either, baa), bab)) → new_esEs4(ywz5000, ywz4000, baa, bab)
new_compare24(ywz5000, ywz4000, True, bb, bc, bd) → EQ
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Ordering, dh) → new_ltEs17(ywz5000, ywz4000)
new_ltEs20(ywz5001, ywz4001, app(app(app(ty_@3, bgb), bgc), bgd)) → new_ltEs4(ywz5001, ywz4001, bgb, bgc, bgd)
new_splitLT13(ywz400, ywz41, ywz42, ywz43, ywz44, True, h, ba) → new_mkVBalBranch(ywz400, ywz41, ywz43, new_splitLT5(ywz44, h, ba), h, ba)
new_esEs24(ywz5001, ywz4001, app(ty_Ratio, bbh)) → new_esEs11(ywz5001, ywz4001, bbh)
new_lt20(ywz5000, ywz4000, app(ty_Ratio, bef)) → new_lt11(ywz5000, ywz4000, bef)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs15(True, True) → True
new_compare113(ywz5000, ywz4000, True, dd, de) → LT
new_esEs4(Right(ywz5000), Right(ywz4000), dg, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(ty_Either, gg), gh), dh) → new_esEs4(ywz5000, ywz4000, gg, gh)
new_sizeFM1(Branch(ywz3340, ywz3341, ywz3342, ywz3343, ywz3344), ef, eg) → ywz3342
new_esEs4(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, hc), hd), he), dh) → new_esEs5(ywz5000, ywz4000, hc, hd, he)
new_primCompAux0(ywz5000, ywz4000, ywz228, df) → new_primCompAux00(ywz228, new_compare6(ywz5000, ywz4000, df))
new_ltEs17(LT, GT) → True
new_primPlusNat1(Succ(ywz19500), Zero) → Succ(ywz19500)
new_primPlusNat1(Zero, Succ(ywz4001000)) → Succ(ywz4001000)
new_compare27(Just(ywz500), Nothing, False, h) → GT
new_ltEs5(Right(ywz5000), Right(ywz4000), dg, ty_Ordering) → new_ltEs17(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Float) → new_ltEs10(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_Ratio, fg)) → new_compare12(ywz5000, ywz4000, fg)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_@0) → new_ltEs14(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, app(ty_[], bfe)) → new_esEs8(ywz5001, ywz4001, bfe)
new_lt13(ywz5001, ywz4001, ty_Float) → new_lt6(ywz5001, ywz4001)
new_compare27(Nothing, Nothing, False, h) → LT
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_Ratio, ha), dh) → new_esEs11(ywz5000, ywz4000, ha)
new_lt18(ywz5000, ywz4000) → new_esEs16(new_compare19(ywz5000, ywz4000), LT)
new_splitGT30(Just(ywz400), ywz41, ywz42, ywz43, ywz44, Nothing, h, ba) → new_splitGT22(ywz400, ywz41, ywz42, ywz43, ywz44, new_esEs16(new_compare27(Nothing, Just(ywz400), False, h), GT), h, ba)
new_mkBalBranch6MkBalBranch5(ywz710, ywz711, ywz166, ywz714, True, h, ba) → new_mkBranch(Zero, ywz710, ywz711, ywz166, ywz714, app(ty_Maybe, h), ba)
new_compare6(ywz5000, ywz4000, ty_Char) → new_compare14(ywz5000, ywz4000)
new_primCmpNat0(Succ(ywz40000), ywz50000) → new_primCmpNat1(ywz40000, ywz50000)
new_esEs8([], [], df) → True
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_lt20(ywz5000, ywz4000, ty_Integer) → new_lt8(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_primPlusInt0(ywz16620, Neg(ywz2330)) → new_primMinusNat0(ywz16620, ywz2330)
new_lt14(ywz5000, ywz4000, ty_Ordering) → new_lt18(ywz5000, ywz4000)
new_compare26(ywz5000, ywz4000, True, db, dc) → EQ
new_ltEs5(Right(ywz5000), Right(ywz4000), dg, ty_Char) → new_ltEs6(ywz5000, ywz4000)
new_splitGT22(ywz400, ywz41, ywz42, ywz43, ywz44, True, h, ba) → new_splitGT4(ywz44, h, ba)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bbf), bbg)) → new_esEs4(ywz5001, ywz4001, bbf, bbg)
new_mkBalBranch(ywz710, ywz711, ywz166, ywz714, h, ba) → new_mkBalBranch6MkBalBranch5(ywz710, ywz711, ywz166, ywz714, new_esEs16(new_compare7(new_primPlusInt2(ywz166, ywz710, ywz711, ywz714, h, ba), Pos(Succ(Succ(Zero)))), LT), h, ba)
new_esEs22(ywz5002, ywz4002, app(app(app(ty_@3, bdd), bde), bdf)) → new_esEs5(ywz5002, ywz4002, bdd, bde, bdf)
new_esEs4(Right(ywz5000), Right(ywz4000), dg, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(ty_Maybe, beg)) → new_lt5(ywz5000, ywz4000, beg)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_ltEs17(EQ, EQ) → True
new_ltEs20(ywz5001, ywz4001, app(ty_[], bfe)) → new_ltEs8(ywz5001, ywz4001, bfe)
new_compare12(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare7(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_ltEs19(ywz5002, ywz4002, ty_Ordering) → new_ltEs17(ywz5002, ywz4002)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_mkVBalBranch3MkVBalBranch20(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, True, h, ba) → new_mkBalBranch(ywz60, ywz61, new_mkVBalBranch2(ywz50, ywz9, ywz740, ywz741, ywz742, ywz743, ywz744, ywz63, h, ba), ywz64, h, ba)
new_lt13(ywz5001, ywz4001, ty_Char) → new_lt15(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_splitGT5(EmptyFM, ywz500, h, ba) → new_emptyFM(h, ba)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_Maybe, hb), dh) → new_ltEs12(ywz5000, ywz4000, hb)
new_primMinusNat0(Succ(ywz166200), Zero) → Pos(Succ(ywz166200))
new_esEs23(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_@0) → new_ltEs14(ywz500, ywz400)
new_ltEs8(ywz500, ywz400, df) → new_not(new_esEs16(new_compare0(ywz500, ywz400, df), GT))
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(ty_Either, gg), gh), dh) → new_ltEs5(ywz5000, ywz4000, gg, gh)
new_compare19(ywz5000, ywz4000) → new_compare29(ywz5000, ywz4000, new_esEs16(ywz5000, ywz4000))
new_splitLT30(Just(ywz400), ywz41, ywz42, ywz43, ywz44, Nothing, h, ba) → new_splitLT22(ywz400, ywz41, ywz42, ywz43, ywz44, new_esEs16(new_compare27(Nothing, Just(ywz400), False, h), LT), h, ba)
new_lt15(ywz5000, ywz4000) → new_esEs16(new_compare14(ywz5000, ywz4000), LT)
new_esEs25(ywz5000, ywz4000, app(ty_[], fc)) → new_esEs8(ywz5000, ywz4000, fc)
new_esEs25(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_lt9(ywz5000, ywz4000, bbb) → new_esEs16(new_compare0(ywz5000, ywz4000, bbb), LT)
new_lt14(ywz5000, ywz4000, ty_Double) → new_lt19(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_Ratio, ha), dh) → new_ltEs11(ywz5000, ywz4000, ha)
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_lt14(ywz5000, ywz4000, app(app(app(ty_@3, bb), bc), bd)) → new_lt16(ywz5000, ywz4000, bb, bc, bd)
new_esEs23(ywz5000, ywz4000, app(ty_[], bbb)) → new_esEs8(ywz5000, ywz4000, bbb)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Ordering, dh) → new_esEs16(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, app(app(ty_@2, ed), ee)) → new_ltEs16(ywz500, ywz400, ed, ee)
new_compare113(ywz5000, ywz4000, False, dd, de) → GT
new_ltEs7(ywz500, ywz400, ty_Float) → new_ltEs10(ywz500, ywz400)
new_ltEs4(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), ea, eb, ec) → new_pePe(new_lt14(ywz5000, ywz4000, ea), new_asAs(new_esEs23(ywz5000, ywz4000, ea), new_pePe(new_lt13(ywz5001, ywz4001, eb), new_asAs(new_esEs24(ywz5001, ywz4001, eb), new_ltEs19(ywz5002, ywz4002, ec)))))
new_lt14(ywz5000, ywz4000, ty_Float) → new_lt6(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_ltEs17(ywz5000, ywz4000)
new_primCompAux00(ywz280, LT) → LT
new_esEs23(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_splitLT14(ywz41, ywz42, ywz43, ywz44, True, h, ba) → new_mkVBalBranch0(ywz41, ywz43, new_splitLT5(ywz44, h, ba), h, ba)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, beh), bfa), bfb)) → new_esEs5(ywz5000, ywz4000, beh, bfa, bfb)
new_splitLT30(Nothing, ywz41, ywz42, ywz43, ywz44, Nothing, h, ba) → new_splitLT14(ywz41, ywz42, ywz43, ywz44, new_esEs16(new_compare13(Nothing, Nothing, h), GT), h, ba)
new_esEs7(Nothing, Nothing, be) → True
new_sizeFM(ywz70, ywz71, ywz72, ywz73, ywz74, h, ba) → ywz72
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_esEs22(ywz5002, ywz4002, ty_Integer) → new_esEs13(ywz5002, ywz4002)
new_splitGT14(ywz41, ywz42, ywz43, ywz44, False, h, ba) → ywz44
new_esEs29(ywz500, ywz400, app(ty_[], df)) → new_esEs8(ywz500, ywz400, df)
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, app(ty_Maybe, bga)) → new_ltEs12(ywz5001, ywz4001, bga)
new_ltEs20(ywz5001, ywz4001, ty_Integer) → new_ltEs13(ywz5001, ywz4001)
new_compare5(ywz5000, ywz4000, bb, bc, bd) → new_compare24(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bb, bc, bd), bb, bc, bd)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Double, dh) → new_esEs17(ywz5000, ywz4000)
new_compare8(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare7(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs17(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs9(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_splitGT16(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, False, fa, fb) → ywz37
new_esEs4(Right(ywz5000), Right(ywz4000), dg, app(app(app(ty_@3, bae), baf), bag)) → new_esEs5(ywz5000, ywz4000, bae, baf, bag)
new_lt20(ywz5000, ywz4000, app(app(ty_@2, bfc), bfd)) → new_lt4(ywz5000, ywz4000, bfc, bfd)
new_splitLT13(ywz400, ywz41, ywz42, ywz43, ywz44, False, h, ba) → ywz43
new_lt12(ywz5000, ywz4000, db, dc) → new_esEs16(new_compare9(ywz5000, ywz4000, db, dc), LT)
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_ltEs20(ywz5001, ywz4001, ty_@0) → new_ltEs14(ywz5001, ywz4001)
new_ltEs5(Right(ywz5000), Right(ywz4000), dg, app(app(app(ty_@3, bae), baf), bag)) → new_ltEs4(ywz5000, ywz4000, bae, baf, bag)
new_mkBalBranch6MkBalBranch01(ywz710, ywz711, ywz166, ywz7140, ywz7141, ywz7142, ywz7143, ywz7144, True, h, ba) → new_mkBranch(Succ(Succ(Zero)), ywz7140, ywz7141, new_mkBranch(Succ(Succ(Succ(Zero))), ywz710, ywz711, ywz166, ywz7143, app(ty_Maybe, h), ba), ywz7144, app(ty_Maybe, h), ba)
new_sr0(Integer(ywz40000), Integer(ywz50010)) → Integer(new_primMulInt(ywz40000, ywz50010))
new_primPlusNat1(Succ(ywz19500), Succ(ywz4001000)) → Succ(Succ(new_primPlusNat1(ywz19500, ywz4001000)))
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_compare28(ywz5000, ywz4000, True, dd, de) → EQ
new_lt13(ywz5001, ywz4001, app(ty_Maybe, bca)) → new_lt5(ywz5001, ywz4001, bca)
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_esEs7(Just(ywz5000), Nothing, be) → False
new_esEs7(Nothing, Just(ywz4000), be) → False
new_ltEs12(Just(ywz5000), Just(ywz4000), app(ty_Maybe, cb)) → new_ltEs12(ywz5000, ywz4000, cb)
new_esEs25(ywz5000, ywz4000, app(ty_Ratio, fg)) → new_esEs11(ywz5000, ywz4000, fg)
new_compare6(ywz5000, ywz4000, app(app(ty_Either, fd), ff)) → new_compare9(ywz5000, ywz4000, fd, ff)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cc), cd), ce)) → new_ltEs4(ywz5000, ywz4000, cc, cd, ce)
new_mkBalBranch6MkBalBranch3(ywz710, ywz711, EmptyFM, ywz714, True, h, ba) → error([])
new_splitGT23(ywz41, ywz42, ywz43, ywz44, ywz500, False, h, ba) → new_splitGT15(ywz41, ywz42, ywz43, ywz44, ywz500, new_lt5(Just(ywz500), Nothing, h), h, ba)
new_ltEs20(ywz5001, ywz4001, ty_Double) → new_ltEs18(ywz5001, ywz4001)
new_esEs29(ywz500, ywz400, ty_@0) → new_esEs14(ywz500, ywz400)
new_esEs25(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs22(ywz5002, ywz4002, app(app(ty_@2, bdg), bdh)) → new_esEs6(ywz5002, ywz4002, bdg, bdh)
new_esEs26(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, bef)) → new_esEs11(ywz5000, ywz4000, bef)
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primCompAux00(ywz280, EQ) → ywz280
new_esEs23(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_lt11(ywz5000, ywz4000, bbc) → new_esEs16(new_compare12(ywz5000, ywz4000, bbc), LT)
new_esEs25(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), dg, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_primCmpNat0(Zero, ywz50000) → LT
new_ltEs19(ywz5002, ywz4002, ty_Double) → new_ltEs18(ywz5002, ywz4002)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), dg, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, app(ty_[], bbe)) → new_lt9(ywz5001, ywz4001, bbe)
new_emptyFM(h, ba) → EmptyFM
new_ltEs5(Right(ywz5000), Right(ywz4000), dg, ty_Bool) → new_ltEs15(ywz5000, ywz4000)
new_ltEs14(ywz500, ywz400) → new_not(new_esEs16(new_compare16(ywz500, ywz400), GT))
new_compare6(ywz5000, ywz4000, ty_Float) → new_compare8(ywz5000, ywz4000)
new_ltEs6(ywz500, ywz400) → new_not(new_esEs16(new_compare14(ywz500, ywz400), GT))
new_ltEs5(Right(ywz5000), Right(ywz4000), dg, app(ty_Ratio, bac)) → new_ltEs11(ywz5000, ywz4000, bac)
new_esEs12(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, app(app(ty_Either, bbf), bbg)) → new_lt12(ywz5001, ywz4001, bbf, bbg)
new_not(False) → True
new_esEs30(ywz500, ywz400, ty_@0) → new_esEs14(ywz500, ywz400)
new_esEs23(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_ltEs18(ywz500, ywz400) → new_not(new_esEs16(new_compare25(ywz500, ywz400), GT))
new_primPlusNat0(Zero, ywz400100) → Succ(ywz400100)
new_esEs23(ywz5000, ywz4000, app(app(ty_@2, dd), de)) → new_esEs6(ywz5000, ywz4000, dd, de)
new_compare210(ywz5000, ywz4000, False) → new_compare10(ywz5000, ywz4000, new_ltEs15(ywz5000, ywz4000))
new_esEs30(ywz500, ywz400, app(app(ty_Either, dg), dh)) → new_esEs4(ywz500, ywz400, dg, dh)
new_mkVBalBranch3Size_l(ywz60, ywz61, ywz62, ywz63, ywz64, ywz70, ywz71, ywz72, ywz73, ywz74, h, ba) → new_sizeFM(ywz70, ywz71, ywz72, ywz73, ywz74, h, ba)
new_esEs11(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), da) → new_asAs(new_esEs18(ywz5000, ywz4000, da), new_esEs19(ywz5001, ywz4001, da))
new_esEs16(LT, EQ) → False
new_esEs16(EQ, LT) → False
new_mkBalBranch6Size_r(ywz710, ywz711, ywz166, ywz714, h, ba) → new_sizeFM0(ywz714, h, ba)
new_splitGT4(EmptyFM, h, ba) → new_emptyFM(h, ba)
new_esEs25(ywz5000, ywz4000, ty_Float) → new_esEs10(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, app(ty_[], bbe)) → new_esEs8(ywz5001, ywz4001, bbe)
new_compare25(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare7(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_splitGT24(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, False, fa, fb) → new_splitGT16(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, new_lt5(Just(ywz38), Just(ywz33), fa), fa, fb)
new_compare0(:(ywz5000, ywz5001), [], df) → GT
new_ltEs5(Right(ywz5000), Right(ywz4000), dg, ty_Double) → new_ltEs18(ywz5000, ywz4000)
new_ltEs16(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), ed, ee) → new_pePe(new_lt20(ywz5000, ywz4000, ed), new_asAs(new_esEs26(ywz5000, ywz4000, ed), new_ltEs20(ywz5001, ywz4001, ee)))
new_esEs23(ywz5000, ywz4000, app(ty_Ratio, bbc)) → new_esEs11(ywz5000, ywz4000, bbc)
new_primPlusInt2(Branch(ywz1660, ywz1661, Pos(ywz16620), ywz1663, ywz1664), ywz710, ywz711, ywz714, h, ba) → new_primPlusInt0(ywz16620, new_sizeFM0(ywz714, h, ba))
new_mkBalBranch6MkBalBranch3(ywz710, ywz711, ywz166, ywz714, False, h, ba) → new_mkBranch(Succ(Zero), ywz710, ywz711, ywz166, ywz714, app(ty_Maybe, h), ba)
new_lt20(ywz5000, ywz4000, ty_Ordering) → new_lt18(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ty_Bool) → new_ltEs15(ywz500, ywz400)
new_esEs4(Right(ywz5000), Right(ywz4000), dg, app(app(ty_@2, bah), bba)) → new_esEs6(ywz5000, ywz4000, bah, bba)
new_mkVBalBranch(ywz400, ywz41, Branch(ywz430, ywz431, ywz432, ywz433, ywz434), EmptyFM, h, ba) → new_addToFM1(Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz400, ywz41, h, ba)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_[], gf), dh) → new_esEs8(ywz5000, ywz4000, gf)
new_lt13(ywz5001, ywz4001, ty_Ordering) → new_lt18(ywz5001, ywz4001)
new_gt1(ywz225, ywz224) → new_esEs16(new_compare7(ywz225, ywz224), GT)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, bb), bc), bd)) → new_esEs5(ywz5000, ywz4000, bb, bc, bd)
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, bbc)) → new_esEs11(ywz5000, ywz4000, bbc)
new_esEs4(Right(ywz5000), Right(ywz4000), dg, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_ltEs19(ywz5002, ywz4002, ty_Int) → new_ltEs9(ywz5002, ywz4002)
new_esEs28(ywz5001, ywz4001, app(ty_Maybe, bga)) → new_esEs7(ywz5001, ywz4001, bga)
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bcb), bcc), bcd)) → new_esEs5(ywz5001, ywz4001, bcb, bcc, bcd)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat0(Zero, ywz40000)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bca)) → new_esEs7(ywz5001, ywz4001, bca)
new_ltEs7(ywz500, ywz400, app(app(ty_Either, dg), dh)) → new_ltEs5(ywz500, ywz400, dg, dh)
new_primMulInt(Pos(ywz50010), Pos(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Bool, dh) → new_esEs15(ywz5000, ywz4000)
new_esEs18(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, app(app(ty_Either, db), dc)) → new_esEs4(ywz5000, ywz4000, db, dc)
new_addToFM0(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, h, ba) → new_addToFM_C30(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, h, ba)
new_esEs4(Left(ywz5000), Left(ywz4000), app(ty_Maybe, hb), dh) → new_esEs7(ywz5000, ywz4000, hb)
new_lt7(ywz5000, ywz4000) → new_esEs16(new_compare16(ywz5000, ywz4000), LT)
new_compare13(ywz50, ywz40, h) → new_compare27(ywz50, ywz40, new_esEs7(ywz50, ywz40, h), h)
new_mkBalBranch6MkBalBranch4(ywz710, ywz711, ywz166, ywz714, False, h, ba) → new_mkBalBranch6MkBalBranch3(ywz710, ywz711, ywz166, ywz714, new_gt1(new_mkBalBranch6Size_l(ywz710, ywz711, ywz166, ywz714, h, ba), new_sr(new_sIZE_RATIO, new_mkBalBranch6Size_r(ywz710, ywz711, ywz166, ywz714, h, ba))), h, ba)
new_primMulInt(Neg(ywz50010), Neg(ywz40010)) → Pos(new_primMulNat0(ywz50010, ywz40010))
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, bfc), bfd)) → new_esEs6(ywz5000, ywz4000, bfc, bfd)
new_esEs16(EQ, EQ) → True
new_esEs29(ywz500, ywz400, app(app(ty_@2, ed), ee)) → new_esEs6(ywz500, ywz400, ed, ee)
new_esEs24(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_esEs26(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, app(ty_Maybe, be)) → new_esEs7(ywz500, ywz400, be)
new_ltEs19(ywz5002, ywz4002, app(app(ty_Either, bch), bda)) → new_ltEs5(ywz5002, ywz4002, bch, bda)
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_primEqNat0(Succ(ywz50000), Zero) → False
new_splitLT22(ywz400, ywz41, ywz42, ywz43, ywz44, False, h, ba) → new_splitLT13(ywz400, ywz41, ywz42, ywz43, ywz44, new_esEs16(new_compare13(Nothing, Just(ywz400), h), GT), h, ba)
new_splitGT22(ywz400, ywz41, ywz42, ywz43, ywz44, False, h, ba) → new_splitGT13(ywz400, ywz41, ywz42, ywz43, ywz44, new_lt5(Nothing, Just(ywz400), h), h, ba)
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_lt13(ywz5001, ywz4001, app(ty_Ratio, bbh)) → new_lt11(ywz5001, ywz4001, bbh)
new_splitGT14(ywz41, ywz42, ywz43, ywz44, True, h, ba) → new_mkVBalBranch0(ywz41, new_splitGT4(ywz43, h, ba), ywz44, h, ba)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs7(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs14(ywz5000, ywz4000)
new_mkBalBranch6MkBalBranch01(ywz710, ywz711, ywz166, ywz7140, ywz7141, ywz7142, Branch(ywz71430, ywz71431, ywz71432, ywz71433, ywz71434), ywz7144, False, h, ba) → new_mkBranch(Succ(Succ(Succ(Succ(Zero)))), ywz71430, ywz71431, new_mkBranch(Succ(Succ(Succ(Succ(Succ(Zero))))), ywz710, ywz711, ywz166, ywz71433, app(ty_Maybe, h), ba), new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), ywz7140, ywz7141, ywz71434, ywz7144, app(ty_Maybe, h), ba), app(ty_Maybe, h), ba)
new_esEs24(ywz5001, ywz4001, app(app(ty_Either, bbf), bbg)) → new_esEs4(ywz5001, ywz4001, bbf, bbg)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, bed), bee)) → new_esEs4(ywz5000, ywz4000, bed, bee)
new_esEs22(ywz5002, ywz4002, ty_Int) → new_esEs9(ywz5002, ywz4002)
new_compare210(ywz5000, ywz4000, True) → EQ
new_mkVBalBranch0(ywz41, Branch(ywz430, ywz431, ywz432, ywz433, ywz434), Branch(ywz710, ywz711, ywz712, ywz713, ywz714), h, ba) → new_mkVBalBranch3MkVBalBranch20(ywz710, ywz711, ywz712, ywz713, ywz714, ywz430, ywz431, ywz432, ywz433, ywz434, Nothing, ywz41, new_lt22(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(ywz710, ywz711, ywz712, ywz713, ywz714, ywz430, ywz431, ywz432, ywz433, ywz434, h, ba)), ywz710, ywz711, ywz712, ywz713, ywz714, ywz430, ywz431, ywz432, ywz433, ywz434, h, ba), h, ba)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Float, dh) → new_esEs10(ywz5000, ywz4000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Bool, dh) → new_ltEs15(ywz5000, ywz4000)
new_mkVBalBranch3MkVBalBranch10(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, False, h, ba) → new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), ywz50, ywz9, Branch(ywz740, ywz741, ywz742, ywz743, ywz744), Branch(ywz60, ywz61, ywz62, ywz63, ywz64), app(ty_Maybe, h), ba)
new_mkVBalBranch1(ywz50, ywz9, Branch(ywz7440, ywz7441, ywz7442, ywz7443, ywz7444), ywz60, ywz61, ywz62, ywz63, ywz64, h, ba) → new_mkVBalBranch30(ywz50, ywz9, ywz7440, ywz7441, ywz7442, ywz7443, ywz7444, ywz60, ywz61, ywz62, ywz63, ywz64, h, ba)
new_sizeFM0(EmptyFM, h, ba) → Pos(Zero)
new_lt14(ywz5000, ywz4000, ty_Integer) → new_lt8(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat2(ywz40000, Zero)
new_lt14(ywz5000, ywz4000, app(ty_[], bbb)) → new_lt9(ywz5000, ywz4000, bbb)
new_splitGT5(Branch(ywz440, ywz441, ywz442, ywz443, ywz444), ywz500, h, ba) → new_splitGT30(ywz440, ywz441, ywz442, ywz443, ywz444, Just(ywz500), h, ba)
new_addToFM_C5(EmptyFM, ywz400, ywz41, h, ba) → Branch(Just(ywz400), ywz41, Pos(Succ(Zero)), new_emptyFM(h, ba), new_emptyFM(h, ba))
new_esEs29(ywz500, ywz400, app(app(app(ty_@3, ea), eb), ec)) → new_esEs5(ywz500, ywz400, ea, eb, ec)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Char) → new_ltEs6(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, ty_Double) → new_lt19(ywz5001, ywz4001)
new_esEs24(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_primMinusNat0(Zero, Zero) → Pos(Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_compare12(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare15(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_compare6(ywz5000, ywz4000, app(app(app(ty_@3, ga), gb), gc)) → new_compare5(ywz5000, ywz4000, ga, gb, gc)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(ty_[], gf), dh) → new_ltEs8(ywz5000, ywz4000, gf)
new_compare6(ywz5000, ywz4000, ty_Ordering) → new_compare19(ywz5000, ywz4000)
new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_lt13(ywz5001, ywz4001, app(app(ty_@2, bce), bcf)) → new_lt4(ywz5001, ywz4001, bce, bcf)
new_mkBalBranch6MkBalBranch4(ywz710, ywz711, ywz166, EmptyFM, True, h, ba) → error([])
new_esEs26(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_splitGT24(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, True, fa, fb) → new_splitGT5(ywz37, ywz38, fa, fb)
new_esEs28(ywz5001, ywz4001, app(app(ty_@2, bge), bgf)) → new_esEs6(ywz5001, ywz4001, bge, bgf)
new_mkVBalBranch(ywz400, ywz41, EmptyFM, ywz72, h, ba) → new_addToFM1(ywz72, ywz400, ywz41, h, ba)
new_ltEs12(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bg), bh)) → new_ltEs5(ywz5000, ywz4000, bg, bh)
new_lt14(ywz5000, ywz4000, ty_Bool) → new_lt17(ywz5000, ywz4000)
new_lt10(ywz5000, ywz4000) → new_esEs16(new_compare7(ywz5000, ywz4000), LT)
new_esEs25(ywz5000, ywz4000, app(ty_Maybe, fh)) → new_esEs7(ywz5000, ywz4000, fh)
new_lt22(ywz185, ywz60, ywz61, ywz62, ywz63, ywz64, ywz70, ywz71, ywz72, ywz73, ywz74, h, ba) → new_esEs16(new_compare7(ywz185, new_mkVBalBranch3Size_r(ywz60, ywz61, ywz62, ywz63, ywz64, ywz70, ywz71, ywz72, ywz73, ywz74, h, ba)), LT)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cc), cd), ce)) → new_esEs5(ywz5000, ywz4000, cc, cd, ce)
new_ltEs20(ywz5001, ywz4001, ty_Ordering) → new_ltEs17(ywz5001, ywz4001)
new_esEs25(ywz5000, ywz4000, ty_Ordering) → new_esEs16(ywz5000, ywz4000)
new_esEs23(ywz5000, ywz4000, ty_@0) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_Integer, dh) → new_esEs13(ywz5000, ywz4000)
new_splitGT15(ywz41, ywz42, ywz43, ywz44, ywz500, True, h, ba) → new_mkVBalBranch0(ywz41, new_splitGT5(ywz43, ywz500, h, ba), ywz44, h, ba)
new_primCmpNat2(ywz50000, Succ(ywz40000)) → new_primCmpNat1(ywz50000, ywz40000)
new_ltEs5(Left(ywz5000), Left(ywz4000), ty_Double, dh) → new_ltEs18(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs14(ywz5001, ywz4001)
new_ltEs7(ywz500, ywz400, ty_Int) → new_ltEs9(ywz500, ywz400)
new_esEs30(ywz500, ywz400, ty_Ordering) → new_esEs16(ywz500, ywz400)
new_esEs29(ywz500, ywz400, ty_Bool) → new_esEs15(ywz500, ywz400)
new_lt13(ywz5001, ywz4001, ty_Int) → new_lt10(ywz5001, ywz4001)
new_esEs16(LT, LT) → True
new_splitLT24(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, True, bea, beb) → new_splitLT4(ywz21, ywz23, bea, beb)
new_asAs(False, ywz102) → False
new_lt20(ywz5000, ywz4000, ty_Double) → new_lt19(ywz5000, ywz4000)
new_primMulInt(Pos(ywz50010), Neg(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_primMulInt(Neg(ywz50010), Pos(ywz40010)) → Neg(new_primMulNat0(ywz50010, ywz40010))
new_sizeFM1(EmptyFM, ef, eg) → Pos(Zero)
new_primMulNat0(Zero, Succ(ywz400100)) → Zero
new_primMulNat0(Succ(ywz500100), Zero) → Zero
new_esEs29(ywz500, ywz400, ty_Char) → new_esEs12(ywz500, ywz400)
new_splitLT30(Just(ywz400), ywz41, ywz42, ywz43, ywz44, Just(ywz500), h, ba) → new_splitLT24(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs16(new_compare27(Just(ywz500), Just(ywz400), new_esEs30(ywz500, ywz400, h), h), LT), h, ba)
new_ltEs20(ywz5001, ywz4001, ty_Bool) → new_ltEs15(ywz5001, ywz4001)
new_esEs26(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs22(ywz5002, ywz4002, ty_Ordering) → new_esEs16(ywz5002, ywz4002)
new_mkBalBranch6MkBalBranch11(ywz710, ywz711, ywz1660, ywz1661, ywz1662, ywz1663, Branch(ywz16640, ywz16641, ywz16642, ywz16643, ywz16644), ywz714, False, h, ba) → new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), ywz16640, ywz16641, new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), ywz1660, ywz1661, ywz1663, ywz16643, app(ty_Maybe, h), ba), new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), ywz710, ywz711, ywz16644, ywz714, app(ty_Maybe, h), ba), app(ty_Maybe, h), ba)
new_esEs16(GT, GT) → True
new_primCmpNat2(ywz50000, Zero) → GT
new_mkVBalBranch0(ywz41, EmptyFM, ywz71, h, ba) → new_addToFM(ywz71, ywz41, h, ba)
new_esEs24(ywz5001, ywz4001, ty_Float) → new_esEs10(ywz5001, ywz4001)
new_mkBalBranch6MkBalBranch4(ywz710, ywz711, ywz166, Branch(ywz7140, ywz7141, ywz7142, ywz7143, ywz7144), True, h, ba) → new_mkBalBranch6MkBalBranch01(ywz710, ywz711, ywz166, ywz7140, ywz7141, ywz7142, ywz7143, ywz7144, new_lt10(new_sizeFM0(ywz7143, h, ba), new_sr(Pos(Succ(Succ(Zero))), new_sizeFM0(ywz7144, h, ba))), h, ba)
new_esEs23(ywz5000, ywz4000, ty_Int) → new_esEs9(ywz5000, ywz4000)
new_esEs29(ywz500, ywz400, ty_Double) → new_esEs17(ywz500, ywz400)
new_esEs26(ywz5000, ywz4000, app(ty_Maybe, beg)) → new_esEs7(ywz5000, ywz4000, beg)
new_mkBalBranch6Size_l(ywz710, ywz711, ywz166, ywz714, h, ba) → new_sizeFM0(ywz166, h, ba)
new_lt8(ywz5000, ywz4000) → new_esEs16(new_compare15(ywz5000, ywz4000), LT)
new_compare110(ywz5000, ywz4000, True, bb, bc, bd) → LT
new_esEs25(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs29(ywz500, ywz400, ty_Float) → new_esEs10(ywz500, ywz400)
new_splitLT23(ywz41, ywz42, ywz43, ywz44, ywz500, True, h, ba) → new_splitLT4(ywz43, ywz500, h, ba)
new_esEs28(ywz5001, ywz4001, app(app(ty_Either, bff), bfg)) → new_esEs4(ywz5001, ywz4001, bff, bfg)
new_esEs23(ywz5000, ywz4000, ty_Char) → new_esEs12(ywz5000, ywz4000)
new_esEs4(Right(ywz5000), Right(ywz4000), dg, app(ty_Maybe, bad)) → new_esEs7(ywz5000, ywz4000, bad)
new_splitGT30(Nothing, ywz41, ywz42, ywz43, ywz44, Nothing, h, ba) → new_splitGT14(ywz41, ywz42, ywz43, ywz44, new_lt5(Nothing, Nothing, h), h, ba)
new_esEs21(ywz5001, ywz4001, app(ty_[], bbe)) → new_esEs8(ywz5001, ywz4001, bbe)
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs17(ywz5000, ywz4000)
new_compare26(ywz5000, ywz4000, False, db, dc) → new_compare111(ywz5000, ywz4000, new_ltEs5(ywz5000, ywz4000, db, dc), db, dc)
new_esEs28(ywz5001, ywz4001, ty_Integer) → new_esEs13(ywz5001, ywz4001)
new_splitGT30(Just(ywz400), ywz41, ywz42, ywz43, ywz44, Just(ywz500), h, ba) → new_splitGT24(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs16(new_compare27(Just(ywz500), Just(ywz400), new_esEs29(ywz500, ywz400, h), h), GT), h, ba)
new_mkBalBranch6MkBalBranch01(ywz710, ywz711, ywz166, ywz7140, ywz7141, ywz7142, EmptyFM, ywz7144, False, h, ba) → error([])
new_ltEs12(Nothing, Just(ywz4000), be) → True
new_splitGT13(ywz400, ywz41, ywz42, ywz43, ywz44, True, h, ba) → new_mkVBalBranch(ywz400, ywz41, new_splitGT4(ywz43, h, ba), ywz44, h, ba)
new_esEs30(ywz500, ywz400, app(ty_[], df)) → new_esEs8(ywz500, ywz400, df)
new_ltEs17(GT, GT) → True
new_addToFM_C30(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, h, ba) → new_addToFM_C20(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_lt5(ywz50, ywz740, h), h, ba)
new_ltEs19(ywz5002, ywz4002, ty_@0) → new_ltEs14(ywz5002, ywz4002)
new_splitGT4(Branch(ywz440, ywz441, ywz442, ywz443, ywz444), h, ba) → new_splitGT30(ywz440, ywz441, ywz442, ywz443, ywz444, Nothing, h, ba)
new_esEs7(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bg), bh)) → new_esEs4(ywz5000, ywz4000, bg, bh)
new_splitGT23(ywz41, ywz42, ywz43, ywz44, ywz500, True, h, ba) → new_splitGT5(ywz44, ywz500, h, ba)
new_esEs24(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_ltEs17(GT, EQ) → False
new_esEs4(Right(ywz5000), Right(ywz4000), dg, app(ty_Ratio, bac)) → new_esEs11(ywz5000, ywz4000, bac)
new_esEs22(ywz5002, ywz4002, ty_Bool) → new_esEs15(ywz5002, ywz4002)
new_primMinusNat0(Zero, Succ(ywz23300)) → Neg(Succ(ywz23300))
new_addToFM1(ywz72, ywz400, ywz41, h, ba) → new_addToFM_C5(ywz72, ywz400, ywz41, h, ba)
new_lt13(ywz5001, ywz4001, app(app(app(ty_@3, bcb), bcc), bcd)) → new_lt16(ywz5001, ywz4001, bcb, bcc, bcd)
new_esEs28(ywz5001, ywz4001, ty_Bool) → new_esEs15(ywz5001, ywz4001)
new_lt20(ywz5000, ywz4000, app(app(app(ty_@3, beh), bfa), bfb)) → new_lt16(ywz5000, ywz4000, beh, bfa, bfb)
new_esEs18(ywz5000, ywz4000, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs24(ywz5001, ywz4001, ty_Ordering) → new_esEs16(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Float) → new_ltEs10(ywz5001, ywz4001)
new_lt16(ywz5000, ywz4000, bb, bc, bd) → new_esEs16(new_compare5(ywz5000, ywz4000, bb, bc, bd), LT)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_esEs7(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs10(ywz5000, ywz4000)
new_mkBalBranch6MkBalBranch11(ywz710, ywz711, ywz1660, ywz1661, ywz1662, ywz1663, ywz1664, ywz714, True, h, ba) → new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), ywz1660, ywz1661, ywz1663, new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), ywz710, ywz711, ywz1664, ywz714, app(ty_Maybe, h), ba), app(ty_Maybe, h), ba)
new_compare11(ywz5000, ywz4000, False) → GT
new_esEs30(ywz500, ywz400, app(app(ty_@2, ed), ee)) → new_esEs6(ywz500, ywz400, ed, ee)
new_mkVBalBranch2(ywz50, ywz9, ywz740, ywz741, ywz742, ywz743, ywz744, Branch(ywz630, ywz631, ywz632, ywz633, ywz634), h, ba) → new_mkVBalBranch30(ywz50, ywz9, ywz740, ywz741, ywz742, ywz743, ywz744, ywz630, ywz631, ywz632, ywz633, ywz634, h, ba)
new_ltEs7(ywz500, ywz400, ty_Ordering) → new_ltEs17(ywz500, ywz400)
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Bool) → new_ltEs15(ywz5000, ywz4000)
new_compare11(ywz5000, ywz4000, True) → LT
new_esEs22(ywz5002, ywz4002, ty_@0) → new_esEs14(ywz5002, ywz4002)
new_esEs25(ywz5000, ywz4000, app(app(app(ty_@3, ga), gb), gc)) → new_esEs5(ywz5000, ywz4000, ga, gb, gc)
new_mkVBalBranch3MkVBalBranch10(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, True, h, ba) → new_mkBalBranch(ywz740, ywz741, ywz743, new_mkVBalBranch1(ywz50, ywz9, ywz744, ywz60, ywz61, ywz62, ywz63, ywz64, h, ba), h, ba)
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat0(ywz4000, ywz50000)
new_splitGT30(Nothing, ywz41, ywz42, ywz43, ywz44, Just(ywz500), h, ba) → new_splitGT23(ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs16(new_compare27(Just(ywz500), Nothing, False, h), GT), h, ba)
new_compare28(ywz5000, ywz4000, False, dd, de) → new_compare113(ywz5000, ywz4000, new_ltEs16(ywz5000, ywz4000, dd, de), dd, de)
new_ltEs5(Right(ywz5000), Right(ywz4000), dg, app(app(ty_@2, bah), bba)) → new_ltEs16(ywz5000, ywz4000, bah, bba)
new_lt6(ywz5000, ywz4000) → new_esEs16(new_compare8(ywz5000, ywz4000), LT)
new_lt13(ywz5001, ywz4001, ty_Bool) → new_lt17(ywz5001, ywz4001)
new_esEs28(ywz5001, ywz4001, ty_Int) → new_esEs9(ywz5001, ywz4001)
new_splitGT15(ywz41, ywz42, ywz43, ywz44, ywz500, False, h, ba) → ywz44
new_compare112(ywz95, ywz96, False, eh) → GT
new_compare27(ywz50, ywz40, True, h) → EQ
new_mkBalBranch6MkBalBranch11(ywz710, ywz711, ywz1660, ywz1661, ywz1662, ywz1663, EmptyFM, ywz714, False, h, ba) → error([])
new_esEs22(ywz5002, ywz4002, ty_Float) → new_esEs10(ywz5002, ywz4002)
new_lt14(ywz5000, ywz4000, ty_@0) → new_lt7(ywz5000, ywz4000)
new_esEs28(ywz5001, ywz4001, app(ty_Ratio, bfh)) → new_esEs11(ywz5001, ywz4001, bfh)
new_primPlusInt(Neg(ywz3700), ywz335, ywz332, ywz334, ef, eg) → new_primPlusInt1(ywz3700, new_sizeFM1(ywz335, ef, eg))
new_esEs26(ywz5000, ywz4000, app(ty_Ratio, bef)) → new_esEs11(ywz5000, ywz4000, bef)
new_esEs28(ywz5001, ywz4001, ty_Double) → new_esEs17(ywz5001, ywz4001)
new_ltEs20(ywz5001, ywz4001, ty_Char) → new_ltEs6(ywz5001, ywz4001)
new_esEs4(Right(ywz5000), Right(ywz4000), dg, ty_Integer) → new_esEs13(ywz5000, ywz4000)
new_compare15(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, ty_Int) → new_compare7(ywz5000, ywz4000)
new_compare0([], :(ywz4000, ywz4001), df) → LT
new_compare111(ywz5000, ywz4000, True, db, dc) → LT
new_primPlusNat1(Zero, Zero) → Zero
new_ltEs5(Right(ywz5000), Right(ywz4000), dg, app(ty_Maybe, bad)) → new_ltEs12(ywz5000, ywz4000, bad)
new_addToFM_C0(EmptyFM, ywz50, ywz9, h, ba) → Branch(ywz50, ywz9, Pos(Succ(Zero)), new_emptyFM(h, ba), new_emptyFM(h, ba))
new_ltEs19(ywz5002, ywz4002, app(app(ty_@2, bdg), bdh)) → new_ltEs16(ywz5002, ywz4002, bdg, bdh)
new_esEs26(ywz5000, ywz4000, app(app(ty_Either, bed), bee)) → new_esEs4(ywz5000, ywz4000, bed, bee)
new_asAs(True, ywz102) → ywz102
new_primMulNat0(Succ(ywz500100), Succ(ywz400100)) → new_primPlusNat0(new_primMulNat0(ywz500100, Succ(ywz400100)), ywz400100)
new_esEs26(ywz5000, ywz4000, app(app(app(ty_@3, beh), bfa), bfb)) → new_esEs5(ywz5000, ywz4000, beh, bfa, bfb)
new_addToFM_C4(Branch(ywz710, ywz711, ywz712, ywz713, ywz714), ywz41, h, ba) → new_addToFM_C20(ywz710, ywz711, ywz712, ywz713, ywz714, Nothing, ywz41, new_lt5(Nothing, ywz710, h), h, ba)
new_ltEs17(LT, EQ) → True
new_esEs4(Right(ywz5000), Left(ywz4000), dg, dh) → False
new_esEs4(Left(ywz5000), Right(ywz4000), dg, dh) → False
new_ltEs12(Just(ywz5000), Just(ywz4000), ty_Int) → new_ltEs9(ywz5000, ywz4000)
new_ltEs12(Just(ywz5000), Nothing, be) → False
new_lt20(ywz5000, ywz4000, ty_Bool) → new_lt17(ywz5000, ywz4000)
new_esEs29(ywz500, ywz400, app(ty_Ratio, da)) → new_esEs11(ywz500, ywz400, da)
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs15(ywz5000, ywz4000)
new_splitLT15(ywz41, ywz42, ywz43, ywz44, ywz500, True, h, ba) → new_mkVBalBranch0(ywz41, ywz43, new_splitLT4(ywz44, ywz500, h, ba), h, ba)
new_lt20(ywz5000, ywz4000, ty_Char) → new_lt15(ywz5000, ywz4000)
new_compare6(ywz5000, ywz4000, app(ty_Maybe, fh)) → new_compare13(ywz5000, ywz4000, fh)
new_compare24(ywz5000, ywz4000, False, bb, bc, bd) → new_compare110(ywz5000, ywz4000, new_ltEs4(ywz5000, ywz4000, bb, bc, bd), bb, bc, bd)
new_ltEs19(ywz5002, ywz4002, ty_Integer) → new_ltEs13(ywz5002, ywz4002)
new_esEs26(ywz5000, ywz4000, app(app(ty_@2, bfc), bfd)) → new_esEs6(ywz5000, ywz4000, bfc, bfd)
new_esEs23(ywz5000, ywz4000, app(app(app(ty_@3, bb), bc), bd)) → new_esEs5(ywz5000, ywz4000, bb, bc, bd)
new_lt4(ywz5000, ywz4000, dd, de) → new_esEs16(new_compare18(ywz5000, ywz4000, dd, de), LT)
new_ltEs7(ywz500, ywz400, app(app(app(ty_@3, ea), eb), ec)) → new_ltEs4(ywz500, ywz400, ea, eb, ec)
new_mkVBalBranch1(ywz50, ywz9, EmptyFM, ywz60, ywz61, ywz62, ywz63, ywz64, h, ba) → new_addToFM0(ywz60, ywz61, ywz62, ywz63, ywz64, ywz50, ywz9, h, ba)
new_esEs9(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_addToFM_C10(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, False, h, ba) → Branch(ywz50, ywz9, ywz742, ywz743, ywz744)
new_compare10(ywz5000, ywz4000, True) → LT
new_esEs30(ywz500, ywz400, app(app(app(ty_@3, ea), eb), ec)) → new_esEs5(ywz500, ywz400, ea, eb, ec)
new_addToFM_C5(Branch(ywz720, ywz721, ywz722, ywz723, ywz724), ywz400, ywz41, h, ba) → new_addToFM_C20(ywz720, ywz721, ywz722, ywz723, ywz724, Just(ywz400), ywz41, new_lt5(Just(ywz400), ywz720, h), h, ba)
new_splitGT13(ywz400, ywz41, ywz42, ywz43, ywz44, False, h, ba) → ywz44
new_ltEs17(EQ, GT) → True
new_compare110(ywz5000, ywz4000, False, bb, bc, bd) → GT
new_splitLT14(ywz41, ywz42, ywz43, ywz44, False, h, ba) → ywz43
new_compare10(ywz5000, ywz4000, False) → GT
new_ltEs20(ywz5001, ywz4001, app(app(ty_@2, bge), bgf)) → new_ltEs16(ywz5001, ywz4001, bge, bgf)
new_esEs4(Left(ywz5000), Left(ywz4000), ty_@0, dh) → new_esEs14(ywz5000, ywz4000)
new_mkBalBranch6MkBalBranch5(ywz710, ywz711, ywz166, ywz714, False, h, ba) → new_mkBalBranch6MkBalBranch4(ywz710, ywz711, ywz166, ywz714, new_gt1(new_mkBalBranch6Size_r(ywz710, ywz711, ywz166, ywz714, h, ba), new_sr(new_sIZE_RATIO, new_mkBalBranch6Size_l(ywz710, ywz711, ywz166, ywz714, h, ba))), h, ba)
new_addToFM_C10(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, True, h, ba) → new_mkBalBranch(ywz740, ywz741, ywz743, new_addToFM_C0(ywz744, ywz50, ywz9, h, ba), h, ba)
new_primCompAux00(ywz280, GT) → GT
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bbh)) → new_esEs11(ywz5001, ywz4001, bbh)
new_ltEs5(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, hc), hd), he), dh) → new_ltEs4(ywz5000, ywz4000, hc, hd, he)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_ltEs5(Right(ywz5000), Right(ywz4000), dg, ty_Integer) → new_ltEs13(ywz5000, ywz4000)
new_esEs8(:(ywz5000, ywz5001), [], df) → False
new_esEs8([], :(ywz4000, ywz4001), df) → False
new_ltEs20(ywz5001, ywz4001, app(app(ty_Either, bff), bfg)) → new_ltEs5(ywz5001, ywz4001, bff, bfg)
new_esEs22(ywz5002, ywz4002, app(ty_Ratio, bdb)) → new_esEs11(ywz5002, ywz4002, bdb)
new_esEs6(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), ed, ee) → new_asAs(new_esEs27(ywz5000, ywz4000, ed), new_esEs28(ywz5001, ywz4001, ee))
new_esEs28(ywz5001, ywz4001, ty_Char) → new_esEs12(ywz5001, ywz4001)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat2(ywz50000, ywz4000)
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_esEs22(ywz5002, ywz4002, app(ty_Maybe, bdc)) → new_esEs7(ywz5002, ywz4002, bdc)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_not(True) → False
new_ltEs7(ywz500, ywz400, app(ty_Maybe, be)) → new_ltEs12(ywz500, ywz400, be)
new_esEs15(False, False) → True
new_primMinusNat0(Succ(ywz166200), Succ(ywz23300)) → new_primMinusNat0(ywz166200, ywz23300)

The set Q consists of the following terms:

new_splitGT16(x0, x1, x2, x3, x4, x5, True, x6, x7)
new_sr(x0, x1)
new_lt13(x0, x1, ty_@0)
new_mkBalBranch6MkBalBranch11(x0, x1, x2, x3, x4, x5, x6, x7, True, x8, x9)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_mkVBalBranch0(x0, EmptyFM, x1, x2, x3)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(Right(x0), Right(x1), x2, ty_Double)
new_esEs20(x0, x1, ty_Double)
new_lt14(x0, x1, ty_Char)
new_compare25(Double(x0, x1), Double(x2, x3))
new_esEs24(x0, x1, ty_Ordering)
new_primMinusNat0(Zero, Zero)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs28(x0, x1, ty_Int)
new_splitGT24(x0, x1, x2, x3, x4, x5, False, x6, x7)
new_compare6(x0, x1, ty_Bool)
new_primCmpNat1(Zero, Succ(x0))
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs30(x0, x1, ty_Double)
new_lt13(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(x0, x1, ty_Int)
new_lt16(x0, x1, x2, x3, x4)
new_compare6(x0, x1, app(ty_Maybe, x2))
new_esEs24(x0, x1, ty_Bool)
new_splitLT24(x0, x1, x2, x3, x4, x5, False, x6, x7)
new_esEs29(x0, x1, ty_Double)
new_esEs7(Just(x0), Nothing, x1)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs7(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Bool)
new_esEs29(x0, x1, ty_Int)
new_sizeFM1(Branch(x0, x1, x2, x3, x4), x5, x6)
new_esEs15(True, True)
new_primPlusNat1(Succ(x0), Zero)
new_ltEs17(EQ, GT)
new_ltEs17(GT, EQ)
new_primMulNat0(Succ(x0), Zero)
new_mkVBalBranch3MkVBalBranch10(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, False, x12, x13)
new_compare0([], [], x0)
new_mkBalBranch6MkBalBranch11(x0, x1, x2, x3, x4, x5, EmptyFM, x6, False, x7, x8)
new_mkVBalBranch3MkVBalBranch20(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, True, x12, x13)
new_ltEs7(x0, x1, ty_Integer)
new_primPlusNat0(Succ(x0), x1)
new_compare6(x0, x1, ty_Int)
new_esEs4(Right(x0), Right(x1), x2, ty_Int)
new_lt4(x0, x1, x2, x3)
new_esEs13(Integer(x0), Integer(x1))
new_lt9(x0, x1, x2)
new_esEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_ltEs15(True, True)
new_esEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs29(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, ty_Ordering)
new_esEs29(x0, x1, ty_Bool)
new_compare27(Just(x0), Just(x1), False, x2)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs25(x0, x1, ty_Float)
new_lt19(x0, x1)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_splitLT4(EmptyFM, x0, x1, x2)
new_lt11(x0, x1, x2)
new_esEs30(x0, x1, ty_Ordering)
new_ltEs14(x0, x1)
new_esEs30(x0, x1, ty_Int)
new_esEs15(False, False)
new_lt8(x0, x1)
new_esEs20(x0, x1, ty_Ordering)
new_compare112(x0, x1, False, x2)
new_esEs18(x0, x1, ty_Int)
new_esEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs30(x0, x1, app(ty_[], x2))
new_compare6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs15(False, False)
new_ltEs19(x0, x1, ty_Double)
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_esEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_lt20(x0, x1, app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), app(ty_[], x2))
new_esEs16(LT, GT)
new_esEs16(GT, LT)
new_addToFM_C10(x0, x1, x2, x3, x4, x5, x6, True, x7, x8)
new_esEs28(x0, x1, ty_@0)
new_compare6(x0, x1, ty_Float)
new_sizeFM1(EmptyFM, x0, x1)
new_ltEs20(x0, x1, ty_@0)
new_lt20(x0, x1, ty_Bool)
new_esEs4(Right(x0), Left(x1), x2, x3)
new_esEs4(Left(x0), Right(x1), x2, x3)
new_lt13(x0, x1, app(ty_[], x2))
new_lt20(x0, x1, ty_Int)
new_primEqNat0(Succ(x0), Succ(x1))
new_primPlusInt(Neg(x0), x1, x2, x3, x4, x5)
new_mkVBalBranch2(x0, x1, x2, x3, x4, x5, x6, EmptyFM, x7, x8)
new_primPlusInt2(EmptyFM, x0, x1, x2, x3, x4)
new_primCmpNat0(Zero, x0)
new_pePe(True, x0)
new_compare9(x0, x1, x2, x3)
new_esEs23(x0, x1, ty_Double)
new_lt20(x0, x1, ty_Integer)
new_esEs9(x0, x1)
new_compare7(x0, x1)
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs19(x0, x1, ty_Float)
new_mkBalBranch6MkBalBranch3(x0, x1, EmptyFM, x2, True, x3, x4)
new_esEs27(x0, x1, ty_Float)
new_compare26(x0, x1, False, x2, x3)
new_compare28(x0, x1, True, x2, x3)
new_compare210(x0, x1, False)
new_primCmpNat1(Zero, Zero)
new_compare0(:(x0, x1), [], x2)
new_ltEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs5(Left(x0), Left(x1), ty_Float, x2)
new_esEs26(x0, x1, app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), ty_Float)
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, ty_Integer)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_splitLT23(x0, x1, x2, x3, x4, True, x5, x6)
new_ltEs20(x0, x1, ty_Double)
new_compare13(x0, x1, x2)
new_lt14(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(x0, x1, app(ty_Ratio, x2))
new_splitGT16(x0, x1, x2, x3, x4, x5, False, x6, x7)
new_splitLT16(x0, x1, x2, x3, x4, x5, False, x6, x7)
new_esEs8([], [], x0)
new_compare27(Nothing, Nothing, False, x0)
new_lt13(x0, x1, ty_Char)
new_ltEs12(Just(x0), Nothing, x1)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs24(x0, x1, ty_Float)
new_esEs4(Right(x0), Right(x1), x2, ty_@0)
new_esEs10(Float(x0, x1), Float(x2, x3))
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_primEqNat0(Zero, Zero)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs4(Right(x0), Right(x1), x2, ty_Integer)
new_esEs24(x0, x1, ty_Int)
new_ltEs5(Right(x0), Right(x1), x2, ty_Bool)
new_ltEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs23(x0, x1, app(ty_[], x2))
new_lt12(x0, x1, x2, x3)
new_esEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_mkBalBranch(x0, x1, x2, x3, x4, x5)
new_primCompAux00(x0, GT)
new_compare27(Nothing, Just(x0), False, x1)
new_compare10(x0, x1, False)
new_mkBranch(x0, x1, x2, x3, x4, x5, x6)
new_primCompAux00(x0, EQ)
new_ltEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_addToFM_C0(EmptyFM, x0, x1, x2, x3)
new_primMulNat0(Zero, Zero)
new_esEs7(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, app(ty_Ratio, x2))
new_primPlusInt(Pos(x0), x1, x2, x3, x4, x5)
new_addToFM0(x0, x1, x2, x3, x4, x5, x6, x7, x8)
new_addToFM_C20(x0, x1, x2, x3, x4, x5, x6, True, x7, x8)
new_splitLT30(Nothing, x0, x1, x2, x3, Just(x4), x5, x6)
new_esEs7(Nothing, Just(x0), x1)
new_compare6(x0, x1, ty_Integer)
new_lt20(x0, x1, ty_@0)
new_esEs30(x0, x1, ty_Char)
new_lt14(x0, x1, app(ty_[], x2))
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_splitLT30(Just(x0), x1, x2, x3, x4, Nothing, x5, x6)
new_compare6(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_mkVBalBranch(x0, x1, EmptyFM, x2, x3, x4)
new_esEs28(x0, x1, ty_Char)
new_esEs27(x0, x1, app(ty_[], x2))
new_ltEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_compare19(x0, x1)
new_esEs25(x0, x1, ty_Int)
new_compare8(Float(x0, x1), Float(x2, x3))
new_sIZE_RATIO
new_sizeFM0(EmptyFM, x0, x1)
new_ltEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs16(GT, GT)
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_esEs7(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs25(x0, x1, ty_Char)
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_ltEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_splitGT14(x0, x1, x2, x3, False, x4, x5)
new_ltEs12(Just(x0), Just(x1), ty_Integer)
new_mkBalBranch6MkBalBranch5(x0, x1, x2, x3, False, x4, x5)
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_lt13(x0, x1, ty_Double)
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs14(@0, @0)
new_ltEs18(x0, x1)
new_compare27(Just(x0), Nothing, False, x1)
new_primMulInt(Neg(x0), Neg(x1))
new_lt22(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12)
new_esEs26(x0, x1, ty_Float)
new_esEs4(Left(x0), Left(x1), ty_Float, x2)
new_esEs24(x0, x1, ty_Char)
new_splitGT14(x0, x1, x2, x3, True, x4, x5)
new_addToFM_C0(Branch(x0, x1, x2, x3, x4), x5, x6, x7, x8)
new_esEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs7(Just(x0), Just(x1), ty_Ordering)
new_ltEs20(x0, x1, ty_Integer)
new_compare12(:%(x0, x1), :%(x2, x3), ty_Integer)
new_esEs25(x0, x1, app(ty_[], x2))
new_lt5(x0, x1, x2)
new_splitGT30(Just(x0), x1, x2, x3, x4, Nothing, x5, x6)
new_esEs21(x0, x1, ty_Double)
new_emptyFM(x0, x1)
new_esEs22(x0, x1, ty_@0)
new_lt13(x0, x1, app(ty_Maybe, x2))
new_esEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_compare24(x0, x1, False, x2, x3, x4)
new_compare16(@0, @0)
new_esEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs20(x0, x1, ty_@0)
new_primPlusInt1(x0, Neg(x1))
new_splitLT5(EmptyFM, x0, x1)
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_pePe(False, x0)
new_gt(x0, x1, x2)
new_ltEs7(x0, x1, ty_Double)
new_addToFM1(x0, x1, x2, x3, x4)
new_esEs20(x0, x1, app(ty_[], x2))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs21(x0, x1, ty_Integer)
new_ltEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs30(x0, x1, ty_Bool)
new_esEs22(x0, x1, ty_Double)
new_ltEs19(x0, x1, ty_Char)
new_esEs19(x0, x1, ty_Int)
new_compare29(x0, x1, True)
new_compare15(Integer(x0), Integer(x1))
new_compare29(x0, x1, False)
new_compare24(x0, x1, True, x2, x3, x4)
new_mkBalBranch6Size_l(x0, x1, x2, x3, x4, x5)
new_esEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_ltEs16(@2(x0, x1), @2(x2, x3), x4, x5)
new_primCmpNat2(x0, Zero)
new_compare6(x0, x1, ty_@0)
new_lt13(x0, x1, app(ty_Ratio, x2))
new_primPlusNat1(Zero, Zero)
new_ltEs9(x0, x1)
new_compare27(x0, x1, True, x2)
new_esEs4(Left(x0), Left(x1), ty_@0, x2)
new_splitGT23(x0, x1, x2, x3, x4, True, x5, x6)
new_esEs21(x0, x1, ty_Ordering)
new_splitGT22(x0, x1, x2, x3, x4, False, x5, x6)
new_esEs24(x0, x1, ty_Integer)
new_splitLT15(x0, x1, x2, x3, x4, True, x5, x6)
new_ltEs5(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs12(Nothing, Nothing, x0)
new_splitGT5(EmptyFM, x0, x1, x2)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare6(x0, x1, ty_Char)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_mkBalBranch6MkBalBranch3(x0, x1, Branch(x2, x3, x4, x5, x6), x7, True, x8, x9)
new_esEs28(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_ltEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs19(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Bool)
new_primCompAux00(x0, LT)
new_ltEs5(Right(x0), Right(x1), x2, ty_Int)
new_esEs29(x0, x1, ty_Float)
new_splitLT22(x0, x1, x2, x3, x4, False, x5, x6)
new_mkVBalBranch0(x0, Branch(x1, x2, x3, x4, x5), EmptyFM, x6, x7)
new_splitGT30(Nothing, x0, x1, x2, x3, Just(x4), x5, x6)
new_splitGT15(x0, x1, x2, x3, x4, True, x5, x6)
new_esEs4(Right(x0), Right(x1), x2, ty_Bool)
new_lt20(x0, x1, ty_Ordering)
new_primPlusInt2(Branch(x0, x1, Neg(x2), x3, x4), x5, x6, x7, x8, x9)
new_lt10(x0, x1)
new_ltEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs7(x0, x1, ty_Bool)
new_mkBalBranch6MkBalBranch4(x0, x1, x2, x3, False, x4, x5)
new_esEs23(x0, x1, ty_@0)
new_mkBalBranch6MkBalBranch01(x0, x1, x2, x3, x4, x5, x6, x7, True, x8, x9)
new_lt13(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, ty_Integer)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_gt1(x0, x1)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_ltEs7(x0, x1, app(ty_[], x2))
new_lt15(x0, x1)
new_ltEs7(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, ty_Ordering)
new_esEs4(Left(x0), Left(x1), ty_Double, x2)
new_addToFM_C30(x0, x1, x2, x3, x4, x5, x6, x7, x8)
new_ltEs5(Left(x0), Left(x1), ty_Double, x2)
new_compare6(x0, x1, app(ty_[], x2))
new_ltEs15(False, True)
new_ltEs15(True, False)
new_splitGT30(Just(x0), x1, x2, x3, x4, Just(x5), x6, x7)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_ltEs17(GT, GT)
new_lt14(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Ordering)
new_lt14(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Int)
new_mkBalBranch6MkBalBranch4(x0, x1, x2, EmptyFM, True, x3, x4)
new_ltEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_splitGT22(x0, x1, x2, x3, x4, True, x5, x6)
new_ltEs12(Nothing, Just(x0), x1)
new_ltEs19(x0, x1, app(ty_[], x2))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primEqInt(Neg(Zero), Pos(Zero))
new_compare210(x0, x1, True)
new_esEs20(x0, x1, ty_Int)
new_mkVBalBranch3MkVBalBranch20(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, False, x12, x13)
new_mkVBalBranch(x0, x1, Branch(x2, x3, x4, x5, x6), EmptyFM, x7, x8)
new_esEs7(Just(x0), Just(x1), ty_Float)
new_ltEs20(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Double)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_esEs7(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs22(x0, x1, ty_Int)
new_compare113(x0, x1, True, x2, x3)
new_ltEs7(x0, x1, ty_Int)
new_ltEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), ty_Ordering)
new_mkVBalBranch1(x0, x1, Branch(x2, x3, x4, x5, x6), x7, x8, x9, x10, x11, x12, x13)
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_lt18(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primMulNat0(Zero, Succ(x0))
new_esEs15(False, True)
new_esEs15(True, False)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_addToFM(x0, x1, x2, x3)
new_esEs7(Just(x0), Just(x1), ty_Int)
new_compare5(x0, x1, x2, x3, x4)
new_primPlusInt2(Branch(x0, x1, Pos(x2), x3, x4), x5, x6, x7, x8, x9)
new_esEs22(x0, x1, ty_Bool)
new_ltEs5(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs7(x0, x1, ty_Char)
new_primMinusNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_lt17(x0, x1)
new_asAs(True, x0)
new_ltEs4(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_compare0([], :(x0, x1), x2)
new_esEs29(x0, x1, ty_@0)
new_ltEs7(x0, x1, ty_Ordering)
new_ltEs5(Right(x0), Right(x1), x2, ty_Char)
new_lt20(x0, x1, ty_Char)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_esEs16(LT, LT)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_compare17(x0, x1)
new_splitGT30(Nothing, x0, x1, x2, x3, Nothing, x4, x5)
new_lt13(x0, x1, ty_Integer)
new_esEs7(Just(x0), Just(x1), ty_Char)
new_esEs26(x0, x1, ty_Ordering)
new_esEs29(x0, x1, app(ty_[], x2))
new_esEs18(x0, x1, ty_Integer)
new_splitLT14(x0, x1, x2, x3, True, x4, x5)
new_primCompAux0(x0, x1, x2, x3)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_sr0(Integer(x0), Integer(x1))
new_esEs28(x0, x1, ty_Double)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_addToFM_C20(x0, x1, x2, x3, x4, x5, x6, False, x7, x8)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(Left(x0), Left(x1), ty_Bool, x2)
new_esEs4(Left(x0), Left(x1), ty_Char, x2)
new_ltEs10(x0, x1)
new_splitLT15(x0, x1, x2, x3, x4, False, x5, x6)
new_esEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs22(x0, x1, ty_Ordering)
new_ltEs11(x0, x1, x2)
new_esEs22(x0, x1, ty_Float)
new_esEs8(:(x0, x1), :(x2, x3), x4)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs29(x0, x1, ty_Integer)
new_splitLT24(x0, x1, x2, x3, x4, x5, True, x6, x7)
new_ltEs8(x0, x1, x2)
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_esEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_mkBalBranch6MkBalBranch01(x0, x1, x2, x3, x4, x5, EmptyFM, x6, False, x7, x8)
new_compare10(x0, x1, True)
new_ltEs5(Right(x0), Right(x1), x2, ty_@0)
new_splitLT16(x0, x1, x2, x3, x4, x5, True, x6, x7)
new_esEs30(x0, x1, ty_@0)
new_ltEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt6(x0, x1)
new_ltEs20(x0, x1, app(ty_[], x2))
new_compare113(x0, x1, False, x2, x3)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_addToFM_C5(EmptyFM, x0, x1, x2, x3)
new_esEs29(x0, x1, ty_Char)
new_lt13(x0, x1, ty_Bool)
new_splitLT13(x0, x1, x2, x3, x4, True, x5, x6)
new_ltEs20(x0, x1, ty_Ordering)
new_lt14(x0, x1, ty_Integer)
new_primEqNat0(Succ(x0), Zero)
new_ltEs12(Just(x0), Just(x1), ty_Double)
new_esEs4(Left(x0), Left(x1), ty_Integer, x2)
new_esEs27(x0, x1, ty_@0)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_mkBalBranch6MkBalBranch01(x0, x1, x2, x3, x4, x5, Branch(x6, x7, x8, x9, x10), x11, False, x12, x13)
new_compare110(x0, x1, False, x2, x3, x4)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_compare110(x0, x1, True, x2, x3, x4)
new_asAs(False, x0)
new_lt13(x0, x1, ty_Int)
new_sizeFM0(Branch(x0, x1, x2, x3, x4), x5, x6)
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs25(x0, x1, ty_@0)
new_compare112(x0, x1, True, x2)
new_mkVBalBranch30(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13)
new_primPlusNat1(Zero, Succ(x0))
new_esEs4(Right(x0), Right(x1), x2, ty_Char)
new_addToFM_C10(x0, x1, x2, x3, x4, x5, x6, False, x7, x8)
new_esEs22(x0, x1, app(ty_[], x2))
new_ltEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_compare6(x0, x1, ty_Ordering)
new_splitGT5(Branch(x0, x1, x2, x3, x4), x5, x6, x7)
new_esEs7(Just(x0), Just(x1), ty_Integer)
new_ltEs7(x0, x1, app(ty_Maybe, x2))
new_compare14(Char(x0), Char(x1))
new_esEs8(:(x0, x1), [], x2)
new_compare26(x0, x1, True, x2, x3)
new_ltEs17(GT, LT)
new_ltEs17(LT, GT)
new_ltEs5(Left(x0), Left(x1), ty_Char, x2)
new_esEs23(x0, x1, ty_Float)
new_splitLT22(x0, x1, x2, x3, x4, True, x5, x6)
new_ltEs20(x0, x1, ty_Float)
new_esEs12(Char(x0), Char(x1))
new_esEs23(x0, x1, ty_Char)
new_mkBalBranch6MkBalBranch11(x0, x1, x2, x3, x4, x5, Branch(x6, x7, x8, x9, x10), x11, False, x12, x13)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_compare111(x0, x1, False, x2, x3)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Ordering)
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Char)
new_esEs4(Right(x0), Right(x1), x2, ty_Float)
new_mkVBalBranch0(x0, Branch(x1, x2, x3, x4, x5), Branch(x6, x7, x8, x9, x10), x11, x12)
new_splitLT30(Nothing, x0, x1, x2, x3, Nothing, x4, x5)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Int)
new_esEs17(Double(x0, x1), Double(x2, x3))
new_primMinusNat0(Zero, Succ(x0))
new_primCmpNat1(Succ(x0), Zero)
new_splitGT24(x0, x1, x2, x3, x4, x5, True, x6, x7)
new_ltEs12(Just(x0), Just(x1), ty_Bool)
new_esEs7(Nothing, Nothing, x0)
new_splitLT13(x0, x1, x2, x3, x4, False, x5, x6)
new_splitLT14(x0, x1, x2, x3, False, x4, x5)
new_splitGT13(x0, x1, x2, x3, x4, False, x5, x6)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_compare6(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_ltEs5(Right(x0), Right(x1), x2, ty_Integer)
new_addToFM_C4(Branch(x0, x1, x2, x3, x4), x5, x6, x7)
new_esEs27(x0, x1, ty_Double)
new_splitGT4(Branch(x0, x1, x2, x3, x4), x5, x6)
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpNat1(Succ(x0), Succ(x1))
new_primPlusNat1(Succ(x0), Succ(x1))
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_ltEs12(Just(x0), Just(x1), ty_Char)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(Just(x0), Just(x1), ty_Double)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs7(x0, x1, ty_Float)
new_not(True)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs7(Just(x0), Just(x1), ty_Bool)
new_esEs24(x0, x1, ty_@0)
new_esEs24(x0, x1, app(ty_[], x2))
new_compare18(x0, x1, x2, x3)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Char)
new_ltEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_addToFM_C4(EmptyFM, x0, x1, x2)
new_splitLT4(Branch(x0, x1, x2, x3, x4), x5, x6, x7)
new_lt13(x0, x1, app(app(ty_@2, x2), x3))
new_esEs16(EQ, LT)
new_esEs16(LT, EQ)
new_splitLT23(x0, x1, x2, x3, x4, False, x5, x6)
new_compare28(x0, x1, False, x2, x3)
new_esEs11(:%(x0, x1), :%(x2, x3), x4)
new_ltEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_compare12(:%(x0, x1), :%(x2, x3), ty_Int)
new_esEs21(x0, x1, ty_@0)
new_esEs16(EQ, EQ)
new_esEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_primCmpNat0(Succ(x0), x1)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Double)
new_ltEs19(x0, x1, ty_Int)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_not(False)
new_splitGT13(x0, x1, x2, x3, x4, True, x5, x6)
new_esEs25(x0, x1, ty_Integer)
new_ltEs5(Left(x0), Left(x1), ty_@0, x2)
new_ltEs12(Just(x0), Just(x1), ty_@0)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_mkVBalBranch(x0, x1, Branch(x2, x3, x4, x5, x6), Branch(x7, x8, x9, x10, x11), x12, x13)
new_ltEs20(x0, x1, ty_Int)
new_ltEs5(Right(x0), Left(x1), x2, x3)
new_ltEs5(Left(x0), Right(x1), x2, x3)
new_esEs23(x0, x1, ty_Ordering)
new_esEs26(x0, x1, ty_Char)
new_mkVBalBranch1(x0, x1, EmptyFM, x2, x3, x4, x5, x6, x7, x8)
new_esEs7(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs5(Left(x0), Left(x1), ty_Int, x2)
new_ltEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs28(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Bool)
new_primMulNat0(Succ(x0), Succ(x1))
new_lt14(x0, x1, ty_@0)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs21(x0, x1, ty_Float)
new_ltEs13(x0, x1)
new_compare6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(x0, x1, app(ty_Ratio, x2))
new_lt14(x0, x1, ty_Ordering)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_addToFM_C5(Branch(x0, x1, x2, x3, x4), x5, x6, x7, x8)
new_esEs16(EQ, GT)
new_esEs16(GT, EQ)
new_mkVBalBranch3MkVBalBranch10(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, True, x12, x13)
new_lt7(x0, x1)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs17(LT, EQ)
new_ltEs17(EQ, LT)
new_splitGT23(x0, x1, x2, x3, x4, False, x5, x6)
new_lt14(x0, x1, app(ty_Ratio, x2))
new_compare111(x0, x1, True, x2, x3)
new_mkVBalBranch2(x0, x1, x2, x3, x4, x5, x6, Branch(x7, x8, x9, x10, x11), x12, x13)
new_mkBalBranch6Size_r(x0, x1, x2, x3, x4, x5)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_mkBalBranch6MkBalBranch4(x0, x1, x2, Branch(x3, x4, x5, x6, x7), True, x8, x9)
new_lt14(x0, x1, ty_Int)
new_esEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs20(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Integer)
new_ltEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs30(x0, x1, ty_Integer)
new_esEs30(x0, x1, ty_Float)
new_esEs5(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, ty_Int)
new_primPlusInt1(x0, Pos(x1))
new_primPlusInt0(x0, Pos(x1))
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_primPlusInt0(x0, Neg(x1))
new_esEs26(x0, x1, ty_@0)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs7(Just(x0), Just(x1), ty_@0)
new_lt14(x0, x1, app(ty_Maybe, x2))
new_ltEs6(x0, x1)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(Just(x0), Just(x1), ty_Int)
new_esEs19(x0, x1, ty_Integer)
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, ty_Double)
new_lt14(x0, x1, ty_Double)
new_lt20(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Pos(Zero))
new_splitGT4(EmptyFM, x0, x1)
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs23(x0, x1, ty_Bool)
new_ltEs19(x0, x1, ty_Integer)
new_primPlusNat0(Zero, x0)
new_primEqNat0(Zero, Succ(x0))
new_esEs25(x0, x1, ty_Double)
new_ltEs5(Right(x0), Right(x1), x2, ty_Float)
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpNat2(x0, Succ(x1))
new_esEs22(x0, x1, ty_Integer)
new_esEs8([], :(x0, x1), x2)
new_primMinusNat0(Succ(x0), Zero)
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_lt13(x0, x1, ty_Float)
new_splitGT15(x0, x1, x2, x3, x4, False, x5, x6)
new_mkBalBranch6MkBalBranch5(x0, x1, x2, x3, True, x4, x5)
new_splitLT30(Just(x0), x1, x2, x3, x4, Just(x5), x6, x7)
new_compare11(x0, x1, False)
new_esEs20(x0, x1, ty_Char)
new_lt14(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs17(EQ, EQ)
new_esEs22(x0, x1, ty_Char)
new_ltEs17(LT, LT)
new_esEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Bool)
new_mkBalBranch6MkBalBranch3(x0, x1, x2, x3, False, x4, x5)
new_lt14(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs6(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_compare11(x0, x1, True)
new_esEs4(Left(x0), Left(x1), ty_Int, x2)
new_splitLT5(Branch(x0, x1, x2, x3, x4), x5, x6)
new_esEs28(x0, x1, ty_Bool)
new_esEs7(Just(x0), Just(x1), app(ty_[], x2))
new_lt13(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs: